如何对X509证书的Base64字符串进行换行处理?
X509证书Base64换行的规范说明
首先明确:证书的Base64换行不是仅为排版美观,而是有严格的标准规范。
我们日常接触的X509证书文件基本都是采用PEM格式存储的,这个格式由IETF定义(RFC 7468),具体要求包括:
- 必须以
-----BEGIN CERTIFICATE-----作为起始标记行,-----END CERTIFICATE-----作为结束标记行 - 中间的Base64编码内容,每行最多只能包含64个字符,超过的部分必须换行
如果你持有一行式的Base64证书字符串,用于网页端下载的话,一定要转换成符合PEM规范的格式,原因如下:
- 绝大多数系统工具(比如浏览器的证书导入功能、操作系统的证书查看器、SSL解析库)都是严格遵循PEM规范的,一行式的内容会被判定为无效格式,无法正常解析
- 符合规范的格式也更便于用户查看和手动复制使用
举个转换后的示例:
-----BEGIN CERTIFICATE----- MIIDETCCAfmgAwIBAgIJAI+TpAQ6jj2zMA0GCSqGSIb3DQEBCwUAMB8xHTAbBgNV BAoMFE9yZ2FuaXphdGlvbiwgQ049TFNHMB4XDTIwMDUxODA1MjQxNloXDTIwMDYx ... -----END CERTIFICATE-----
简单来说,换行是规范要求,不是可选的美观操作,为了保证兼容性,务必按照PEM格式处理你的证书字符串。
内容的提问来源于stack exchange,提问作者acafela
相关产品推荐
相关产品推荐

