基本的证书格式,只包含公钥。x509证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息。
Public Key Cryptography Standards #7。PKCS#7一般把证书分成两个文件,一个公钥、一个私钥,有PEM和DER两种编码方式。PEM比较多见,是纯文本的,一般用于分发公钥,看到的是一串可见的字符串,通常以.crt,.cer,.key为文件后缀。DER是二进制编码。PKCS#7一般主要用来做数字信封。
证书请求语法。
Public Key Cryptography Standards #12。一种文件打包格式,为存储和发布用户和服务器私钥、公钥和证书指定了一个可移植的格式,是一种二进制格式,通常以.pfx或.p12为文件后缀名。使用OpenSSL的pkcs12命令可以创建、解析和读取这些文件。P12是把证书压成一个文件,xxx.pfx 。主要是考虑分发证书,私钥是要绝对保密的,不能随便以文本方式散播。所以P7格式不适合分发。.pfx中可以加密码保护,所以相对安全些。
实际上PKCS#7、PKCS#10、PKCS#12都是PKCS系列标准的一部分。相互之间并不是替代的关系,而是对不同使用场景的定义。
PEM和DER两种编码格式。
Privacy Enhanced Mail查看内容,以"-----BEGIN..."开头,以"-----END..."结尾。查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -nooutApache和*NIX服务器偏向于使用这种编码格式。
Distinguished Encoding Rules打开看是二进制格式,不可读。查看DER格式证书的信息:openssl x509 -in certificate.der -inform der -text -nooutJAVA和windows服务器偏向于使用这种编码格式。
文件的内容和后缀没有必然的关系,但是一般使用这些后缀来表示这是什么文件。
Java Key Store(JKS)。
证书请求文件(Certificate Signing Request)。这个并不是证书,而是向权威证书颁发机构获得签名证书的申请,其核心内容是一个公钥(当然还附带了一些别的个人信息)。查看的办法:openssl req -noout -text -in my.csr,DER格式的话加上-inform der。
一般指使用DER格式的证书。
证书文件。可以是PEM格式。
通常用来存放一个公钥或者私钥。查看KEY的办法:openssl rsa -in mykey.key -text -noout如果是DER格式的话,同理应该这样了:openssl rsa -in mykey.key -text -noout -inform der这是使用RSA算法生成的key这么查看,DSA算法生成的使用dsa参数。
证书吊销列表 (Certification Revocation List),是一种包含撤销的证书列表的签名数据结构。