Https环境将key秘钥和crt格式证书转成cer证书
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个文件:
用文本格式(Notepad)打开证书包里的证书链.cer中间证书文件,查看证书信息,比对第三段证书内容,最后四位PT9I=为新证书,不同提供商可能不同
2)升级证书:
打开证书工具网站的【证书格式转换】,目标格式选择ALL(所有常用格式),将证书.cer文件拖拽至证书文件的云图标内
完成后,下载的证书文件包含以下格式,请根据服务器类型更新证书文件,现场用PEM_Nginx
把对应证书导入WEB服务器的服务配置文件内,更新配置后,验证即可。
3)验证
方式一、使用CA在线检测工具验证UCA Global G2 Root证书有效日期,在【证书链信息部分】显示如下即可:
方式二、命令行验证
keytool -sslserver www.xxx.com:443 -printcert -rfc #输出的证书后四位满足预期,移动云要求后四位PT9I=为新证书keytool -sslserver www.sheca.com:443 -printcert #查看UCA Global G2 Root证书日期为最新即可
5、附录:证书验证过程
Https环境将key秘钥和crt格式证书转成cer证书相关推荐
- PEM格式RSA 秘钥转bin格式
公钥PUBKey.bits = 1024;for(int tmp=0;tmp<128;tmp++){PUBKey.modulus[tmp]=decode[29+tmp];}PUBKey.expo ...
- java中secretkey,java生成秘钥key,并保存秘钥到文件中
本例子采用的是Java的对称加密其中的一种方式(3DES),其他的加密方式也类似.生成一个key秘钥,发送方使用生成的key秘钥进行加密操作,然后把生成的key秘钥保存到文件中,提供给需要解密的一方使 ...
- java项目的秘钥怎么保存_java生成秘钥key,并保存秘钥到文件中
本例子采用的是Java的对称加密其中的一种方式(3DES),其他的加密方式也类似.生成一个key秘钥,发送方使用生成的key秘钥进行加密操作,然后把生成的key秘钥保存到文件中,提供给需要解密的一方使 ...
- 使用CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 证书和秘钥文件
要安装kubernetes最新版集群,https://github.com/opsnull/follow-me-install-kubernetes-cluster 这个文档必须要研习一下了. 以下实 ...
- git生成SSH秘钥(git报错git@github.com: Permission denied (publickey). Could not read from remote repositor)
事情是这样,公司的电脑本来更新代码,拉取代码是没有任何问题的,昨天下班回家后想着把代码拉下来看看,然后在云效上面看到之前生成的秘钥,有好几个之前设置的秘钥,感觉好像没有用手贱给删掉了,早上来公司想着拉 ...
- 秘钥协议及新兴密码学方向【7】
秘钥协议及新兴密码学方向[7] 秘钥管理及交换共享 (秘钥协议) 密钥交换是实现安全通信的基础,商用加密算法AES和DES需要在安全通信之前,实现通信双方的密钥共享. 密钥交换的常用方法: 基于RSA ...
- PKIX path 异常 - 可以使用 Keytools 将服务端的秘钥库导入本地
异常: PKIX path building failed (公钥绑定失败) 异常场景:使用RPC做远程调用时服务提供端使用了HTTPS 技术,而本地客户端中无任何SSL配置 异常描述:客户端未配置秘 ...
- SSH 安全秘钥登录
工作中,我们常常需要将本地代码推送到远端服务器,或者从远端服务器获取任务进程,就需要频繁的登陆到远端服务器.使用 SSH Key 可以实现安全秘钥证书的方式登陆远端服务器,这样所有传输的数据都会被加密 ...
- Google Authenticator 根据秘钥(不是种子)生成码
忘了在哪里看到的了,如果作者看到请谅解, 自用好长一段时间了,因为做爬虫用到,想起来了就分享出来 public class GoogleAuthenticator{/// <summary> ...
最新文章
- 揭秘Sponge:统一Hadoop、Spark、SDS、Swift的大数据操作系统
- C++虚基类成员可见性
- 并发-分布式锁质量保障总结
- 使用Microsoft EnterpriseLibrary(微软企业库)日志组件把系统日志写入数据库和xml文件...
- caffe dataset
- [android]netd与NetworkManagementService初印象
- VB C# 语法对比图 (代码实例)
- 基于Chrome插件的微博超话自动签到
- 服务器上的微信转账记录能删除吗,微信如何彻底删除转账记录?微信删除转账记录方法...
- 项目现场如何通过安防网络设备的EHOME协议,把设备接入EasyCVR平台上进行互联网直播及分发?
- 75. 颜色分类(图解)
- msf介绍及其常用模块
- Windows11 校园网连ftp登录上传作业失败
- python实现离散型变量分组统计
- choco无法将choco识别_choco入门
- TeamViewer远程控制华为设备方法
- 使用BGP机房有以下优势:
- MyBatis-Plus——超详细讲解配置文件
- 系统分析与设计个人总结
- 必读的数据库领域论文