我希望能够在我的API请求中发送证书。
如该帖子所示。我需要将.crt和.key转换为.pfx,但是我当前的证书是.pem,所以我认为我需要先将它们转换为.crt和.key,然后使用该帖子中使用的openssl comand进行转换。进入.pfx,然后继续进行其余的解决方案。
我的证书是-
CRT文件-C:\ Users \ JohnSmith \ Downloads \ certsh \ client-crt.pem
密钥文件-C:\ Users \ JohnSmith \ Downloads \ certsh \ client-key.pem
我能够将密钥文件转换为.key,但是尝试转换CRT文件时却出现此错误。
unable to load certificate 13668:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:697:Expecting: TRUSTED CERTIFICATE error in x509
我正在使用此命令尝试将.pem转换为.crt
x509 -outform der -in client-csr.pem -out client.crt
扩展名.pem
表示文件的格式为PEM(隐私增强邮件)(RFC 7468)。文件的内容可以是证书,私钥,公钥或其他内容。如果使用文本编辑器打开PEM文件,则将-----BEGIN ?????-----
在顶部看到。
该扩展名.crt
意味着文件的内容是证书。但是,扩展名不告诉任何有关文件格式的信息。格式可以是PEM,DER(可分辨编码规则)(X.690)或其他格式。如果文件包含-----BEGIN CERTIFICATE-----
,则格式为PEM。另一方面,如果文件包含二进制数据,则格式可能是DER。
该扩展名.key
意味着文件的内容是私钥。但是,扩展名不告诉任何有关文件格式的信息。格式可以是PEM,DER或其他形式。如果文件包含-----BEGIN PRIVATE KEY-----
,则格式为PEM。另一方面,如果文件包含二进制数据,则格式可能是DER。
该字符串csr
是文件名的一部分client-csr.pem
,表示该文件的内容为CSR(证书签名请求)。请注意,CSR不是证书。似乎您正在尝试将client-csr.pem
PEM的文件格式转换为DER,但是CSR永远不会通过转换文件格式而成为证书。我认为,您应该赋予openssl
命令的不是client-csr.pem
而是client-crt.pem
。
理解ASN.1(X.680),DER(X.690),BASE64(RFC 4648)和PEM(RFC 7468)之间的关系将提高问题的质量并帮助您避免浪费时间。我希望下面摘录自“图解X.509证书”的图表对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句