X.509证书

目前总的来说有三种常用的证书编码格式:X.509证书、PKCS#12证书和PKCS#7证书。X.509证书是最经常使用的证书,它仅包含了公钥信息而没有私钥信息,是可以公开进行发布的,所以X.509证书对象一般都不需要加密。

X.509证书的格式通常如下:

……相关的可读解释信息(省略)……
---BEGIN CERTIFICATE---
……PEM编码的X.509证书内容(省略)……
---END CERTIFICATE---

除了“—BEGIN CERTIFICATE—”和“—END CERTIFICATE—”头尾格式外,还可能有这样不同的标识符:“—BEGIN X.509 CERTIFICATE—”、“—END X.509 CERTIFICATE—”或者“—BEGIN TRUSTED CERTIFICATE—”、“—END TRUSTED CERTIFICATE—”

在OpenSSL实际签发的证书文件中最前面的很多可读的证书明文解释,只是为了增加证书文件的可读性,并不代表真正的数据。在其他软件中,比如Windows软件,可能并不支持这些额外的明文信息,所以,先要将“—BEGIN CERTIFICATE—”之前的所有可读信息去掉。可以手动删除,也可以使用PEM到PEM的证书格式转换去掉这些明文可读信息。

在Windows平台,X.509证书文件的后缀名经常是der、cer或者crt,都是可以被自动识别的。对于OpenSSL来说,后缀名是没有实际意义的。