做项目时在阿里云上申请的证书,下载Nginx对应的证书时,发现有两个文件一个以.key结尾,一个以.pem结尾,而自定义生成证书时,发现有三种后缀名所以想要弄清楚这几种文件的区别,故搜索了相关资料。
- 首先有几个概念:
总得来说这些文件都与X.509证书和密钥文件有关,从文件编码上分,只有两大类:
而CRT, CER,KEY这几种证书和密钥文件,在存储为物理文件时,既可以是PEM格式,也可以DER格式。
打个比方:CER,CRT,KEY相当于论文,说明书等,有规定好的行文格式与规范,而PEM和DER相当于txt格式还是word格式。
- 如何打开.pem 文件和.der文件以及两种文件的转换
假设有一个baidu.crt文件, 这个crt文件的实际格式其实是pem, 有一个der格式的文件baidu.der想要看到这两个文件的实际内容,可以使用命令
两者文件的转化,使用命令
- 自定义生成公私钥对
我们生成一个RSA的公钥和密钥对
该命令生成了一个 私钥公钥对,也就是说rsa_private.key这个文件同时包含了私钥和公钥,很多文章对这里有误解
我们是可以从该文件中,提取出公钥的
对该文件进行加密:
为了解决这个问题,人们引入了如下两个概念:
(1)证书:公钥信息 + 额外的其他信息(比如所属的实体,采用的加密解密算法等)= 证书。证书文件的扩展名一般为crt。
(2)CA:证书认证中心;拿到一个证书之后,得先去找CA验证下,拿到的证书是否是一个“真”的证书,而不是一个篡改后的证书。如果确认证书没有问题,那么从证书中拿到公钥之后,就可以与对方进行安全的通信了,基于非对称加密机制。CA自身的分发及安全保证,一般是通过一些权威的渠道进行的,比如操作系统会内置一些官方的CA、浏览器也会内置一些CA
ok,那接下来的问题:
我想给自己,给公司、给我的某个服务器申请一个证书,该怎么搞???
公钥私钥对可以在自己的本地通过相关的工具(如openssl、ssh_keygen)产生,那公钥怎么包装成一个证书,并且要在CA那边“注册”一下,不然,别人拿到你的证书之后,去CA那边验证不过,会认为是一个不可信证书。
(1)先生成一个秘钥对
(2)基于该私钥我们生成一个CSR(证书签名请求)
(3)将该CSR文件发给CA,“注册一下”,当然了这个过程是收费的,要钱的。这里,我们把自己当作一个CA,自己给自己注册一下,当然了,产生的证书是没人认可的。
其实这个过程就是自定义生成SSL证书的过程。
1.SSL中,公钥、私钥、证书(pem、crt、cer、key、csr)的后缀名都是些啥
2.关于PEM, DER, CRT, CER,KEY等各类证书与密钥文件后缀的解释
3.证书相关:rsa、crt文件、key文件、csr文件
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/19976.html