通常在给服务器升级https,需要在nginx上配置域名对应的https证书,nginx通常配置的是crt和key格式的证书。最近遇到有人提供了jks格式的证书,查阅了几个资料都是需要先将jks转为p12格式,然后再将p12转为crt格式。这里记录一下相关过程,供大家参考
1 jks转p12格式
这里需要用到keytool工具,我因为电脑上安装过Android studio,所有电脑上已经有了,没有安装过的,可以自行百度安装方法。转换命令如下:
keytool -importkeystore -srckeystore E:\temp\hndhi.com.jks -destkeystore E:\temp\server.p12 -srcstoretype jks -deststoretype pkcs12
根据自己的需要,替换相关路径即可。
过程中可能需要你设置新的密码,输入原来jks证书的密码。建议将密码设置一致即可。
2 p12转crt格式
这里需要用到openssl工具,安装方法可以参考https://www.cnblogs.com/dingshaohua/p/12271280.html。
这里利用下面命令,对上面获取到的server.p12文件进行处理
- 获取crt文件
openssl pkcs12 -in E:\temp\server.p12 -nokeys -clcerts -out E:\temp\server.crt
- 获取key文件
openssl pkcs12 -in E:\temp\server.p12 -nocerts -nodes -out E:\temp\server.key
nginx上进行配置
将转换后的文件上传服务器即可