证书的那些事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了证书的那些事相关的知识,希望对你有一定的参考价值。

OpenSSL

简单地说,OpenssL是SSL的一个实现,SSL只是一种规范, 理论上来说,SSL这种规范是安全的,目前的技术水平很难破解,但SSL的实现就可能有些漏洞,

如著名的“心脏出血”,OpenSSL还提供了一大堆强大的工具软件

证书标准

X.509 这是一种证书标准,主要定义了证书中应该包含哪些内容,其详情可以参考RFC5280,SSL使用的就是这种证书标准

编码格式

同样的X.509证书,可能有不同的编码格式,目前有以下两种编码格式,

PEM ---Privacy Enhanced Mail, 打开看文本格式,以"-----BEGIN...."开头,"------END......" 结尾,内容是BASE64编码.

查看PEM格式证书的信息: openssl X509 -in certifiate.pem -text -noout

DER --Distinguished Encoding Rules, 打开看是二进制格式, 不可读

查看DER格式证书的信息:  openssl x509 -in certificate.der -inform der  -text -noout

相关的文件扩展名

虽然知道有PEM和DER这两种编码格式,但文件扩展名不一定就叫“PEM” 或者”DER“, 常见的扩展名除了PEM和DER还有以下这些,

它们除了编码格式可能不同之外,内容也有差别,但大多数都能相互转换

CRT  ---certificate 的三个字母,其实还是证书的意思,常见于*NIX系统,有可能是PEM编码,也有可能是DER编码,大多数是PEM编码

CER --还是certificate,还是证书,常见于Windows 系统, 同样的,可能是PEM编码,也可能是DER编码,大多数是DER编码

KEY-- 通常用来存放一个公钥或者私钥,并非X.509证书, 编码同样的,可能是PEM,也可能是DER

查看KEY的方法: openssl  rsa  -in mykey.key -text -noout

如果是DER格式的话,同理应该这样了: openssl rsa -in mykey.key -text  -noout -inform der

CSR --Certificate Signing Request, 即证书签名请求,这个并不是证书, 而是向权威证书颁发机构获得签名证书的申请,其核心内容是一个公钥,在生成这个申请的时候,同时也会生成一个私钥,私钥自己保存好

查看到办法:

PFX/P12

JKS

以上是关于证书的那些事的主要内容,如果未能解决你的问题,请参考以下文章

证书的那些事

移动端https抓包那些事--进阶篇

nginx和SNI那些事

Xcode8那些事

和安全有关的那些事(非对称加密数字摘要数字签名数字证书SSLHTTPS及其他)

关于DevOps 的那些事