有的時候只是想測試指定的加密法連線,運作是否正常。最簡單的方式使用Openssl 所提供的連線工具即可以測試。
Client 參數
-msg:用16進位顯示所有協議數據包含handshake
-cipher:指定 cipher 連線
-showcerts:顯示 chain
-curves:指定要用的橢圓算法,client hello的extension中的elliptic_curves
-sigalgs:指定交換key要用的簽名方式,client hello的extension 中的signature_algorithms
-debug 列印出所有是訊息
-ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3, -no_tls1
選擇用甚麼版本的協議,可以正向反向選取。不要的選no開頭。
# 最基本連線
openssl s_client -connect [IP]:[port]
# 看連線細節
openssl s_client -msg -connect [IP]:[port]
# 指定連線方式
openssl s_client -connect [IP]:[port] -cipher ECDHE-RSA-AES128-SHA256
# 限制只能用TLS1.2連線
openssl s_client -no_tls1 -no_ssl3 -connect [IP]:[port]
或
openssl s_client -ssl2 -connect [IP]:[port]
Server 參數
-accept 聽的port
-key 使用的KEY
-cert 使用的憑證
openssl s_server -accept 5678 -key server.key -cert server.pem