总结背景,在工作中经常遇到https协议通讯关于SSL证书的一些操作,在linux系统下经常用到下面的命令。
1.获取服务端证书
openssl s_client -showcerts -connect host:port
2.生成私钥库(keypass与storepass保持一致)
keytool -genkeypair -alias xxxx1 -keyalg RSA -keysize 1024 -keystore client.keystore -dname "CN=XXXX, OU=XXXX, O=XXXX, L=xxxx, L=xxxx, ST=bj, C=cn" -storetype JKS -validity 3650 -keypass xxxxp -storepass xxxxp
2.1导出公钥(别名保持一致)
keytool -export -storepass xxxxp -keystore client.keystore -file xxxx.cer -alias xxxx1
3.导入公钥(生成信任库)
keytool -import -storepass xxxxp -keystore client.truststore -file xxxx.cer -alias xxxx1
3.1删除公钥证书
keytool -delete -storepass xxxxp -keystore client.truststore -alias xxxx1
4.遍历秘钥库
keytool -list -storepass xxxxp -keystore client.keystore -V
5.打印证书信息
keytool -printcert -file xxxx.cer
6.密钥库格式转换(pfx——》jks)
keytool -importkeystore -srckeystore xxxx.pfx -srcstoretype pkcs12 -srcstorepass xxxxp -destkeystore client.keystore -deststoretype jks -deststorepass xxxxp