标签:
做各种第三方支付的时候,下载来的证书是.pem后缀的,很好奇这到底是个什么玩意,于是...一场惨绝人寰学习过程开始了...
先说PEM,最初是为了增强邮件安全,将X.509证书用base64进行重新编码随着邮件一起传输,现在基本就用来生成公钥/私钥文件供用户下载了,原本的功能反而被忘记了。
这里有了个新概念,X.509,这是由国际电信联盟(ITU-T)制定的ASN.1规范下数字证书标准,它规定了证书应包含哪些信息和使用什么样的编码格式(默认DER二进制编码)。
ASN.1,Abstract Syntax Notation One,抽象语法标记,一种ISO/ITU-T 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式,嗯,这么说不好理解,可以类比下开发语言提供的各种基础类型,X.509使用了这些基础类型来定义了数字证书的数据结构。(参考链接,ASN.1)
PKSC,The Public-Key Cryptography Standards,公钥密码学标准,由美帝的RSA公司制定的一系列标准,这里我们只讨论#7/#8/#12,#7/#12是对X.509证书进行扩展、加密用于交换。#8是一种私钥格式标准。openssl生成的私钥,可以转换成pkcs8格式。
总结下:
ASN.1 提供了抽象语法,类似于编程语言中的关键字。
X.509 是使用这些抽象语法定义了证书的数据结构和编码规范。
PEM是将X.509基础证书用base64重新编码存为ASCII文件,用于和邮件一起传输保证邮件安全性。
PKCS是美帝RSA公司制定的一系列规范,#7/#12对基础X.509证书和证书对应的私钥进行扩充、加密、重新编码后用于交换,#8定义了一种私钥格式标准。
标签:
原文地址:http://my.oschina.net/u/1023800/blog/526647