使用 openssl 将 .pem 文件转换为 .crt
Convert .pem file into .crt using openssl
我希望能够在我的 API 请求中发送证书。
请看 -
如图所示post。我需要将 .crt 和 .key 转换为 .pfx,但是我当前的证书是 .pem,所以我想我需要先将它们转换为 .crt 和 .key,然后使用其中使用的 openssl 命令 post 将它们转换为 .pfx,然后继续解决方案的其余部分。
我的证书是-
CRT 文件 -
C:\Users\JohnSmith\Downloads\certsh\client-crt.pem
密钥文件 -
C:\Users\JohnSmith\Downloads\certsh\client-key.pem
我能够将 Key 文件转换为 .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)。文件的内容可能是证书、私钥、public 密钥或其他内容。如果您使用文本编辑器打开 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证书"的图表能对您有所帮助。
我希望能够在我的 API 请求中发送证书。
请看 -
如图所示post。我需要将 .crt 和 .key 转换为 .pfx,但是我当前的证书是 .pem,所以我想我需要先将它们转换为 .crt 和 .key,然后使用其中使用的 openssl 命令 post 将它们转换为 .pfx,然后继续解决方案的其余部分。
我的证书是-
CRT 文件 - C:\Users\JohnSmith\Downloads\certsh\client-crt.pem
密钥文件 - C:\Users\JohnSmith\Downloads\certsh\client-key.pem
我能够将 Key 文件转换为 .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)。文件的内容可能是证书、私钥、public 密钥或其他内容。如果您使用文本编辑器打开 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证书"的图表能对您有所帮助。