我下面生成的 .keystore文件也可以用 .jks 后缀代替, jks 的意思就是 java keystore, 另外需要知道 .cer文件是二进制的, .pem文件是文本文件, 本质都是一样的, 他们可以互相转换。 java 语言操作的是二进制的文件, 其他的一些脚本语言, 可能操作的是PEM格式的文件。看具体情况吧。
创建服务端keystore
keytool -genkey -v -alias server_ks -keysize 2048 -keyalg RSA -dname "CN=www.abc.com" -keypass 123456 -storepass 123456 -keystore ./server.keystore -validity 36500
创建客户端keystore
keytool -genkey -v -alias client_ks -keysize 2048 -keyalg RSA -dname "CN=www.abc.com" -keypass 123456 -storepass 123456 -keystore ./client.keystore -validity 36500
导出服务端证书
keytool -export -v -alias server_ks -keystore ./server.keystore -storepass 123456 -file ./server.cer
导出客户端证书
keytool -export -v -alias client_ks -keystore ./client.keystore -storepass 123456 -file ./client.cer
将服务端证书导入到客户端trustkeystroe
keytool -import -v -alias