1.jks转p12
keytool -importkeystore -srckeystore xxx.com.jks -destkeystore server.p12 -srcstoretype jks -deststoretype pkcs12
2.p12转crt
openssl pkcs12 -in server.p12 -nokeys -clcerts -out server.crt
3.p12转key
openssl pkcs12 -in server.p12 -nocerts -nodes -out server.key
4.key转pem结尾的私钥
openssl rsa -in server.key -out server_privkey.pem
5.key转pem结尾的公钥
openssl rsa -in server.key -pubout -out server_public.pem
命令行转换以后内容有在-----BEGIN CERTIFICATE-----这个分隔符前面有多余的内容,自行删除即可。
配置nginx只需使用crt结尾的和key结尾的文件即可,已验证可行。pem结尾的也可以用户配置nginx,未验证是否可行。
6.证书过期替换问题。
key和crt都需要替换,如果只替换私钥key会报错,如下:
error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
表示ssl所使用的证书和私钥不匹配,可以用以下命令验证:
openssl x509 -noout -modulus -in server.crt | openssl md5 openssl rsa -noout -modulus -in server.key | openssl md5
如果生成的值不一致,则需要重新生成证书。
7.证书过期后续签拿到的是cer后缀的证书和key后缀的私钥,需要将cer后缀转换成crt后缀
CER是二进制形式的X.509证书,DER编码。
CRT是二进制X.509证书,封装在文本(base-64)编码中。
如下两种方式进行尝试转换
openssl x509 -inform DER -in certificate.cer -out certificate.crt openssl x509 -inform PEM -in certificate.cer -out certificate.crt
cert转pem(有些nginx配置的是pem)
openssl x509 -in certificate.cer -out certificate.pem
8.证书级别B生成A+
(1)提示证书链不完整
去网站:证书链下载/证书链修复 里面输入域名生成证书链,直接拼接在cert证书后面即可。
(2)需要在开启 HSTS,保证浏览器连接该网站始终为 HTTPS 加密版本。
修改nginx配置
server { server_name www.xxx.com add_header Strict-Transport-Security "max-age=; includeSubdomains; preload"; ..... }
完整nginx server参考配置:
server {
listen 80;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.xxx.com;
root /usr/share/nginx/html;
ssl_certificate "/etc/nginx/cert/server.crt";
ssl_certificate_key "/etc/nginx/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
#ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=80720000; preload";
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
检测地址:SSL/TLS安全评估报告
检测结果:
到此这篇JKS后缀结尾tomcat的证书转换成key和crt结尾的nginx证书的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/10629.html