第一步:生成证书
我这里即为服务端又为客户端,所以我生成了五个文件;
1、生成服务器证书库
2、生成客户端证书库
3、从客户端证书库中导出客户端证书
4、从服务器证书库中导出服务器证书
5、生成客户端信任证书库(由服务器证书生成的证书库)
这些证书是由jdk的keytool来生成的,可以参考以下密钥生成脚本,根据实际情况做必要的修改,注意:服务端的密钥库参数“CN”必须与服务端的IP地址相同,否则会报错,客户端的任意。
在jdk的安装目录\bin\keytool.exe下打开keytool.exe
1、生成服务器证书库
keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore E:\ssl\server.keystore -dname "CN=127.0.0.1,OU=bmsoft,O=bmsoft,L=bm,ST=Beijing,c=sh" -storepass 123456
2、生成客户端证书库
keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore E:\ssl\client.p12 -dname "CN=client,OU=bmsoft,O=bmsoft,L=bm,ST=Beijing,c=sh" -storepass 123456 -keypass 123456
3、从客户端证书库中导出客户端证书
keytool -export -v -alias client -keystore E:\ssl\client.p12 -storetype PKCS12 -storepass 123456 -rfc -file E:\ssl\client.cer
4、从服务器证书库中导出服务器证书