建立SSL 测试环境
为了对SSL 协议有大致的了解,我们可以通过openssl 命令来建立一个 SSL 测试环境。
1)建立自己的CA
在openssl 安装目录的misc 目录下(或者在apps 目录下),运行脚本:./CA.sh -newca
2 ) 生成客户端和服务端证书申请:
openssl req -newkey rsa:1024 -out req1.pem -keyout sslclientkey.pem
openssl req -newkey rsa:1024 -out req2.pem -keyout sslserverkey.pem
3) 签发客户端和服务端证书
openssl ca -in req1.pem -out sslclientcert.pem
openssl ca -in req2.pem -out sslservercert.pem
4) 运行 ssl 服务端和客户端:
openssl s_server -cert sslservercert.pem -key sslserverkey.pem -CAfile demoCA/cacert.pem -ssl3
openssl s_client -ssl3 -CAfile demoCA/cacert.pem
运行客户端程序后,如果正确,会打印类似如下内容:
SSL-Session:
Protocol : SSLv3
Cipher : DHE-RSA-AES256-SHA
Session-ID:
为了对SSL 协议有大致的了解,我们可以通过openssl 命令来建立一个 SSL 测试环境。
1)建立自己的CA
在openssl 安装目录的misc 目录下(或者在apps 目录下),运行脚本:./CA.sh -newca
(Windows 环境下运行:perl ca.pl –newca ),出现提示符时,直接回车。 运行完毕后
备注(cygwin中,ca.pl路径:cygwin\usr\ssl\misc)
2 ) 生成客户端和服务端证书申请:
openssl req -newkey rsa:1024 -out req1.pem -keyout sslclientkey.pem
openssl req -newkey rsa:1024 -out req2.pem -keyout sslserverkey.pem
3) 签发客户端和服务端证书
openssl ca -in req1.pem -out sslclientcert.pem
openssl ca -in req2.pem -out sslservercert.pem
4) 运行 ssl 服务端和客户端:
openssl s_server -cert sslservercert.pem -key sslserverkey.pem -CAfile demoCA/cacert.pem -ssl3
openssl s_client -ssl3 -CAfile demoCA/cacert.pem
运行客户端程序后,如果正确,会打印类似如下内容:
SSL-Session:
Protocol : SSLv3
Cipher : DHE-RSA-AES256-SHA
Session-ID:
A729F5845CBFFBA68B27F701A6BD9D411627FA5BDC780264131EE966D1DFD6F
Session-ID-ctx:
Master-Key:
B00EEBD68165197BF033605F348A91676E872EB48487990D8BC77022578EECC0A
9789CD1F929E6A9EA259F9F9F3F9DFA
Key-Arg : None
Start Time: 1164077175
Timeout : 7200 (sec)
Verify return code: 0 (ok)
此时,输入数据然后回车,服务端会显示出来。