当前位置:网站首页 > 云计算与后端部署 > 正文

JKS后缀结尾tomcat的证书转换成key和crt结尾的nginx证书

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证书的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • macbook的 safari浏览器退出后又自动启动,强制退出以后也重启,重启电脑也重启2024-11-28 16:09:07
  • SVN(subversion )服务端和客户端的下载安装使用2024-11-28 16:09:07
  • 消息队列详解2024-11-28 16:09:07
  • CAS 服务端部署_cas-server2024-11-28 16:09:07
  • 原神私人服务器部署教程(Win)_原神pc服务器2024-11-28 16:09:07
  • Centos 查看服务器磁盘,内存,端口等命令2024-11-28 16:09:07
  • http之浏览器同源政策——端口、域名、协议,三者同及不跨域;解决跨域的方案有哪些2024-11-28 16:09:07
  • 搭建前端项目时的技术选型考虑2024-11-28 16:09:07
  • 调试前端代码二三事--(一)-调试基础2024-11-28 16:09:07
  • webpack5配置portfinder支持端口多开2024-11-28 16:09:07
  • 全屏图片