打印所有server端发过来的请求
openssl s_client-connect corp.zhc.com:4443
将客户端发送的内容也显示出来。
openssl s_client-connect corp.zhc.com:4443 -msg
将状态也打印出来
openssl s_client-connect corp.zhc.com:4443 -msg –state
强制使用tls1.0协议
openssl s_client-connect corp.zhc.com:4443 -msg –state -tls1
强制使用ssl2协议,现在很多服务器都不支持ssl2和ssl3了,所以可能会直接握手失败。
openssl s_client-connect v:4443 -msg –state -ssl2
强制使用ssl3协议。
openssl s_client-connect corp.zhc.com:4443 -msg –state -ssl3
SSL的通信过程是这样的:
1 client向server索要并验证公钥。
2 双方协商生成对话密钥
3 开始用对话密钥进行加密通信。
前两步就是SSL握手,SSL握手是在TCP三次握手之后开始的,SSL握手是四次,握手时序是:
client -> server CLIENT_HELLO (supported protocol version, TLS1.0, a random number R1, supported cipher, compression suites)
client <- server SERVER_HELLO (the protocol version TLS1.0, a random number R2, the cipher)
client <- server SERVER_CERTIFICATE
client <- server SERVER_KEY_EXCHANGE
client <- server CERTIFICATE_REQUEST (optional, 向客户端索要证书,进行双向认证)
client <- server SERVER_HELLO_DONE
原文:http://blog.csdn.net/hongchangfirst/article/details/78282746
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst