我在阅读base64编码的SSL证书时遇到了一些麻烦。我所拥有的是一个base64编码字符串,没有"----BEGIN CERTIFICATE----"one_answers"----END CERTIFICATE----"。我试着用多种方法读它,但它失败了
我试图通过cmd
读取证书openssl x509 -in cdg_cert -text -noout
,得到:PEM routines:CRYPTO_internal:no start Expecting: TRUSTED CERTIFICATE error
我还试图解码字符串并将其保存在我的磁盘上,最终以二进制文件结束,仍然无法通过openssl cmd读取它,最终出现相同的错误
谷歌周围,没有找到任何好的提示,谁能请帮助我的cmd我应该使用?我正在运行macbook并试图读取证书内容
我也有同样的问题
unable to load certificate
459600:error:0909006C:PEM routines:get_name:no start line:../openssl-1.1.1a/crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
,在挣扎了很多之后,只是试图使用文本编辑器并围绕base64编码部分包装头/脚:
-----BEGIN CERTIFICATE-----
...(cert content goes here)...
-----END CERTIFICATE-----
之后,我可以使用
读取证书"c:Program FilesGitmingw64binopenssl" x509 -text -noout -in IdP_Signing_Certificate.crt
正如在注释中已经提到的,您应该知道需要放置哪个报头,因为它是PEM定义的一部分。报头中的字符串在这里定义,并且依赖于证书中提供的内容,即添加到PEM中的未知部分:
https://github.com/openssl/openssl/blob/master/include/openssl/pem.h
简而言之:PEM只是base64 DER输出+页眉/页脚.