iOS安全相关 - HTTPS证书基础概念

2017-01-16  本文已影响109人  brownfeng

iOS开发中,有许多概念例如证书标准,证书编码格式,证书文件扩展名等等

证书的标注

X.509是一种常用的证书标准!HTTPS也使用的这个标准

PEM/DER两种证书编码格式

X.509这种证书标准中有两类常用的证书的编码格式-- PEM和DER.

查看PEM格式证书的信息:
openssl x509 -in certificate.pem -text -noout.Apache和unix服务器偏向于使用这种编码格式.

查看DER格式证书的信息:
openssl x509 -in certificate.der -inform der -text -noout.
Java和Windows服务器偏向于使用这种编码格式.

证书的文件扩展名

这是比较误导人的地方,虽然我们已经知道有PEM和DER这两种编码格式,但文件扩展名并不一定就叫"PEM"或者"DER",常见的扩展名除了PEM和DER还有以下这些,它们除了编码格式可能不同之外,内容也有差别,但大多数都能相互转换编码格式.

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

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

查看CSR的办法:openssl req -noout -text -in my.csr (如果是DER格式的话照旧加上-inform der,这里不写了)

证书编码的转换

PEM --> DER

openssl x509 -in cert.crt -outform der -out cert.der

DER --> PEM

openssl x509 -in cert.crt -inform der -outform pem -out cert.pem

参考: http://www.jianshu.com/p/2dad7c95b6af

在Security编程中,有几种典型的密码交换信息文件格式:
DER-encoded certificate: .cer, .crt
PEM-encoded message: .pem
PKCS#12 Personal Information Exchange: .pfx, .p12
PKCS#10 Certification Request: .p10 .csr
PKCS#7 cert request response: .p7r
PKCS#7 binary message: .p7b .p7c .spc
cer/.crt 是用于存放证书,它是2进制形式存放
pem 跟crt/cer的区别是它以Ascii来表示
pfx/p12 用于存放个人证书/私钥,他通常包含保护密码,2进制方式

上一篇 下一篇

猜你喜欢

热点阅读