【发布时间】:2021-02-12 15:29:53
【问题描述】:
如何使用 MbedTLS 将 DER 格式的 X.509 证书转换为 PEM 形式? 实际上,我收到的证书是 BASE64 编码的,在执行 BASE64 解码时,它会提供 DER 格式的证书,但我需要 PEM 格式并希望使用 MbedTLS 将获得的 DER 格式证书转换为 PEM。
【问题讨论】:
标签: c security curl libcurl mbedtls
如何使用 MbedTLS 将 DER 格式的 X.509 证书转换为 PEM 形式? 实际上,我收到的证书是 BASE64 编码的,在执行 BASE64 解码时,它会提供 DER 格式的证书,但我需要 PEM 格式并希望使用 MbedTLS 将获得的 DER 格式证书转换为 PEM。
【问题讨论】:
标签: c security curl libcurl mbedtls
有mbedtls_pem_write_buffer。但是由于您需要自己指定页眉和页脚,因此如果您的数据已经是 base64 编码,它不会做太多事情。但是,PEM 还需要一些包含行尾的特定 base64,所以我仍然会使用这个函数。否则,您只需添加正确的 BEGIN CERTIFICATE 和 END CERTIFICATE 页眉和页脚行。
API 调用文档有点稀疏,所以我只是进行实验,然后使用openssl x509 -in cert.pem 进行测试。
【讨论】:
BEGIN 不是START。 RFC 7468 是一个清晰且相当简短的规范。