Win32平台下的Openssl学习总结(6)

2019-08-01 22:55

点击浏览(Browse…)按钮并且找到要认证签名的证书,例如,你想导入

C:\\CARoot\\private目录下的ca.crt证书,你必须选择它,并点击下一步(next)按钮继续。

这个对话框中,只需按默认设置即可,并且点击下一步(Next)按钮。你将会看到如下的对话框。

这一步跟你直接双击.crt文件比较类似。记住你不能双击.pem文件得到这个对话框,你可以通过Web浏览器或者改变.pem的扩展名为.crt,并且去掉文伯内的开头信息,只保留---BEGIN CERTIFICATE---和---END CERTIFICATE---数据。

十三、使用OpenSSL应用程序中的s_server.exe & s_client.exe(Using the OpenSSL Applications s_server.exe & s_client.exe)

无疑,你肯定想要测试你的证书。OpenSSL给你提供了丰富的应用程序,它可以在C:\\openssl-0.9.7e\\out32dll\\release目录下找到。我们已经在上面的部分中讨论了它们中的一些应用,但是作为一个开发者,你会想使用其它的一些应用程序来测试你自己的SSL激活的应用程序。记住这些用法都是基于MS-DOS窗口的,所以把cmd.exe或者command.com复制到C:\\openssl-0.9.7e\\out32dll\\release目录下是被提倡的。

运行s_client.exe和s_server.exe(Running s_client.exe and s_server.exe) 我们可以肯定在你的SSL发展的生命周期中一定会使用到s_server.exe。这是一个很大的应用,因为它将测试你的客户机程序的性能并且确定你可以链接一切正常。如果你的客户机程序可以与s_server.exe取得链接你就可以很确定它可以与其它的SSL激活的服务准确正常的工作,包括https://www.verisign.com和其它的SSL激活的服务。

从C:\\openssl-0.9.7e\\apps目录中复制server.pem和client.pem文件到C:\\openssl-0.9.7e\\out32dll\\release目录。

双击在release目录下的cmd.exe或者command.com。当MS-DOS窗口打开后,输入如下的语句:

C:\\openssl-0.9.7e\\out32dll\\release>s_server –accept 4433

这个s_server.exe程序已经准备去接受客户机程序。这时,通过两次点击Ctrl+C退出这个应用程序来停止这个服务。再输入如下的内容并按回车键: C:\\openssl-0.9.7e\\out32dll\\release>s_server -help

这个命令会显示在s_server.exe应用程序中使用的所有的选项。如果你不使用任保选项(option),这个服务会使用server.pem作为证书在4433端口来接受

(accept),当然这个证书也包含一个私钥。注意到你在你使用OpenSSL时你可以把私钥入在同一们文件中作为公开证书(Note that you can place the private key into the same file as the public certificate when using OpenSSL)。

如果你不能停止s_server.exe应用程序的完成,就按住CTRL键,连按字母C两次。这时再复制CARoot\\private目录下的ca.key和ca.crt文件到release目录。打开MS-DOS窗口,输入:

C:\\openssl-0.9.7e\\out32dll\\release>s_server –cert ca.crt –key ca.key

这样将会使用先前创建的CA公开证书(CA Public Certificate)和CA私钥文件来启动(start)这个s_server应用程序。如果它需要PEM密码,就输入你在创建CA密钥时输入的密码即可。

这时,让s_server.exe继续运行,并且双击cmd.exe或者command.com文件打开一个新的MS-DOS窗口,在这个DOS窗口中输入如下语句: C:\\openssl-0.9.7e\\out32dll\\release>s_client –cert ca.crt –key ca.key 将会看到如下的输出:

如果没有看到上面类似的输出,应该查看一下是否把ca.crt和ca.key文件放到了s_client.exe应用程序所在的目录(C:\\openssl0.9.7e\\out32dll\\release)。当然你可能需要加入语句-connect 127.0.0.1:4433,它将把s_server.exe应用程序的主机IP和端口与描述出来。

注意到最后一行:Verify return code:18(self signed certificate)。这个

s_client.exe应用程序将会自动试图检验这个服务器的证书,而s_server.exe应用程序使用的CA证书是自认证签名的,这是很有意义的。这时就可以关掉你的s_client.exe应用程序,然后再关闭s_server.exe应用程序。 这时s_server命令所在窗口的输出为:

复制上一些时间创建的已经认证签名的证书signedcert.crt,或者01.pem文件(或者其它在C:\\CARoot目录下的其它文件)到C:\\openssl-0.9.7e\\out32dll\\release目录。复制cert.key,它是在创建请求证书(create the request certificate)时使用的,晚一些时候进行认证签名的。这是一个公开密钥对(实际上这儿有三个,一个公开认证证书,一个请求证书和一个密钥文件)。输入如下语句: C:\\openssl-0.9.7e\\out32dll\\release>s_server –cert signedcert.crt –key cert.key

你的服务应该是开启并且运行了,再打开另一个MS-DOS窗口,输入下面的语句:

C:\\openssl-0.9.7e\\out32dll\\release>s_client –cert signedcert.crt –key cert.key

如果一切运行正常,你将会看到另一个认证错误。在最后你并没有看到表示自签名认证的错误代码“18”,而是“21”或者其它什么。这个错误表示不能确定服务器端的证书是使用一个可信任的证书库进行认证的(就像上面的在Windows系统中安装证书时创建)。


Win32平台下的Openssl学习总结(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:模拟电子技术第四章习题解答

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: