OpenSSL中重要的命令 —— s_server 和s_client
一、背景
在使用OpenSSL的过程中我们经常会使用openssl命令(一级命令) 和其他二级命令组合来测试基于OpenSSL开发的功能。比如签名、验签功能、验证握手协议等等。
本次的例子是在Linux环境下演示的。在Linux的安装目录下使用openssl命令。
二、举例说明
1、显示所有二级命令
在终端输入 ./openssl help . 如下图所示,由于篇幅有限,只显示了部分图片。
2、显示二级命令的用法
在终端输入./openssl 二级命令 help. 下图是查看s_server 这个二级命令的使用方法。
3、openssl s_server命令和s_client 命令的使用方法
s_server 命令和s_client 命令主要是测试openssl 握手的套件是否可用、是否能正常密钥协商。
举例说明:
ECDHE-SM4-SM3 套件,top1.1协议 下的双向验证测试方法。
./openssl s_client -connect 127.0.0.1:443 -cert cert/sm2/sm21.cer -key cert/sm2/sm21.key -CAfile cert/sm2/sm2root.cer -dcert cert/sm2/sm22.cer -dkey cert/sm2/sm22.key -cipher ECDHE-SM4-SM3 -top1.1
./openssl s_server -cert cert/sm2/sm22.cer -key cert/sm2/sm22.key -dcert cert/sm2/sm21.cer -dkey cert/sm2/sm21.key -Verify 1 -CAfile cert/sm2/sm2root.cer -port 443 -cipher ECDHE-SM4-SM3 -top1.1