1、去除秘钥*.key的加密保护:

openssl genrsa -des3 -out ca.key 4096#CA证书用于签署客户端证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt

#创建服务器证书
openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr  //生成证书私钥和证书请求文件(CSR:ertificate Signing Request),完成后会产生两个文件:server.key 和 server.csr,Linux习惯用crt作为后缀,Windows用cer作为后缀
openssl rsa -in nginx-selfsigned.key -out upnginx-selfsigned.key   //注意需要到本地目录下执行

#使用CA签署服务器证书
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt #server.csr用于向CA请求签署服务器证书,server.crt为CA根证书签署的服务器证书

2、将*.key秘钥文件和*.crt证书文件合并为cer证书,执行:
openssl x509 -in …/private/nginx-selfsigned.key -in ./nginx-selfsigned.crt -out nginx-selfsigned.cer -outform der

其中,X.509证书通常指的是IETF的PKIX证书和X.509 v3证书标准的CRL 文件,即如RFC 5280(通常称为PKIX for Public Key Infrastructure(X.509))中规定的。

DER: 用于二进制DER编码证书而不是DER证书,也能承载CER或CRT扩展。
CRT/CER: 证书可以被编码为二进制DER或ASCII PEM。Linux习惯用crt作为后缀,Windows用cer作为后缀
KEY :KEY扩展名用于公钥和私钥PKCS#8。 键可以被编码为二进制DER或ASCII PEM。

附录:crt证书转换为pkcs12格式,它已被大部分浏览器支持安装,下面命令为转化客户端测证书,pkcs12格式会把客户端的密钥文件(key)和证书文件(crt)打包在一起,后缀为.p12

openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

#转化为PEM编码
openssl pkcs12 -in client.p12 -out client.pem -clcerts

3、Nginx配置证书实例:

server {

         listen               443;
         server_name          localhost;
         ssl                  on;
	     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	     ssl_session_timeout 5m;
         ssl_certificate      server.cer;  #证书文件
         ssl_certificate_key  server.key;  #私钥文件
         #ssl_client_certificate /etc/nginx/certs/ca.pem;
    	 #ssl_verify_client on;  #设为on,认证客户端
		 ssl_ciphers ALL:!ADH:!EXPORT56:-RC4+RSA:+HIGH:+MEDIUM:-EXP;
         }

4、证书更新,更新中间证书

1)检查确认,现场使用的为移动云提供的CA证书,他们采用SHECA品牌国际标准的SSL证书共包含私钥、证书、证书链3个文件:

苹果公钥怎么导出 公钥转cer_cer


用文本格式(Notepad)打开证书包里的证书链.cer中间证书文件,查看证书信息,比对第三段证书内容,最后四位PT9I=为新证书,不同提供商可能不同

2)升级证书:

打开证书工具网站的【证书格式转换】,目标格式选择ALL(所有常用格式),将证书.cer文件拖拽至证书文件的云图标内

苹果公钥怎么导出 公钥转cer_证书更新_02


完成后,下载的证书文件包含以下格式,请根据服务器类型更新证书文件,现场用PEM_Nginx

苹果公钥怎么导出 公钥转cer_证书更新_03


把对应证书导入WEB服务器的服务配置文件内,更新配置后,验证即可。

3)验证

方式一、使用CA在线检测工具验证UCA Global G2 Root证书有效日期,在【证书链信息部分】显示如下即可:

苹果公钥怎么导出 公钥转cer_证书更新_04

方式二、命令行验证

keytool -sslserver www.xxx.com:443 -printcert -rfc  #输出的证书后四位满足预期,移动云要求后四位PT9I=为新证书

keytool -sslserver www.sheca.com:443 -printcert  #查看UCA Global G2 Root证书日期为最新即可

苹果公钥怎么导出 公钥转cer_cer_05


5、附录:证书验证过程

苹果公钥怎么导出 公钥转cer_证书更新_06