JKS证书转Nginx证书
本篇介绍如何将jks(java key store)证书转换为nginx格式的证书。
因业务需要,现在需要将所有的服务升级为https
的方式访问,不管是对外还是内部网络都需要升级,然后负责安全的运维只丢给我一个压缩包,解压开只有以下文件:
1 | xxx.jks |
查看jks文件中的entry
1 | keytool -list -keystore xxx.jks |
输出如下信息:
1 | 输入密钥库口令: |
其中1, 2022年8月1日, PrivateKeyEntry,
这一个就是一个entry的信息,1表示这个entry的别名。
将jks文件导出为Nginx证书所需要的.cert和.key文件
xxx
是示例文件名
将jks转换为P12(PKCS12格式的证书库)
1 | keytool -importkeystore -srckeystore xxx.jks -srcalias 1 -destkeystore xxx.p12 -deststoretype PKCS12 |
查看新格式(pkcs12)证书库
1 | keytool -deststoretype PKCS12 -keystore xxx.p12 -list |
提取证书
1 | openssl pkcs12 -in xxx.p12 -nokeys -clcerts -out xxx_ssl.crt |
xxx-ssl.crt是SSL证书,xxx_ca.crt是中级证书,俩个合并到一起才是nginx服务器所需要的证书
将这两个证书合并到一起
1 | cat xxx-ssl.crt xxx_ca.crt > xxx_ngx.crt |
提取私钥
1 | openssl pkcs12 -nocerts -nodes -in xxx.p12 -out xxx_ngx.key |
配置Nginx
1 | server { |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment