正文是 DER 字节的标准 base64(不是 base64url),按惯例每行 64 个字符。RFC 7468 定义的标签包括 CERTIFICATE、X509 CRL、CERTIFICATE REQUEST、PKCS7、CMS、PRIVATE KEY(PKCS #8)、ENCRYPTED PRIVATE KEY 和 PUBLIC KEY(SPKI)。OpenSSL 的传统格式另有 RSA PRIVATE KEY、EC PRIVATE KEY 和 RSA PUBLIC KEY,旧式加密密钥还带有 Proc-Type: 4,ENCRYPTED 和 DEK-Info 标头,沿袭自1993年的隐私增强邮件(Privacy-Enhanced Mail)。
一个 PEM 文件可以包含多个对象:一条证书链(叶子证书在前),或者一个密钥后接其证书。块之前或块之间允许出现文本,因此 openssl x509 -text 的输出可以与 base64 内容放在一起。
常见错误出在标签上,而不是 base64 本身:no start line(标签错误,或把 DER 文件当作 PEM 传入)、expecting: ANY PRIVATE KEY(在需要私钥的地方传入了公钥)、CRLF 或空白字符造成的损坏,以及严格的解析器所要求的末尾换行符缺失。格式转换是无损的:用 openssl x509 -outform DER 转换,也可以再转回来。