Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用openssl将.pem文件转换为.crt_Ssl_Postman_Restsharp_Pem_Crt - Fatal编程技术网

使用openssl将.pem文件转换为.crt

使用openssl将.pem文件转换为.crt,ssl,postman,restsharp,pem,crt,Ssl,Postman,Restsharp,Pem,Crt,我希望能够在API请求中发送证书 请参阅- 如那篇文章所示。我需要将.crt和.key转换为.pfx,但是我当前的证书是.pem,所以我想我需要先将它们转换为.crt和.key,然后使用该帖子中使用的openssl comand将它们转换为.pfx,然后继续执行解决方案的其余部分 我的证书是- CRT文件- C:\Users\JohnSmith\Downloads\certsh\client-crt.pem 密钥文件- C:\Users\JohnSmith\Downloads\certsh\cl

我希望能够在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(隐私增强邮件)()。文件的内容可以是证书、私钥、公钥或其他内容。如果使用文本编辑器打开PEM文件,您将在顶部看到
----BEGIN??????---

扩展名
.crt
表示文件的内容是证书。但是,扩展名不能说明文件格式的任何信息。格式可以是PEM、DER(区分编码规则)()或其他格式。如果文件包含
----BEGIN CERTIFICATE----------
,则格式为PEM。另一方面,如果文件包含二进制数据,则格式可能是DER

扩展名
.key
表示文件内容是私钥。但是,扩展名不能说明文件格式的任何信息。格式可以是PEM、DER或其他格式。如果文件包含
----BEGIN私钥------
,则格式为PEM。另一方面,如果文件包含二进制数据,则格式可能是DER

字符串
csr
,它是文件名
client csr.pem
的一部分,表示文件的内容是csr(证书签名请求)。请注意,CSR不是证书。似乎您正在尝试将
客户机csr.pem
的文件格式从pem转换为DER,但是通过转换文件格式,csr将永远不会成为证书。我认为,您应该给
openssl
命令的不是
client csr.pem
,而是
client crt.pem

了解ASN.1()、DER()、BASE64()和PEM()之间的关系将提高问题的质量,帮助您避免浪费时间。我希望下面摘自“”的图表可以帮助您


扩展名
.pem
表示文件格式为pem(隐私增强邮件)()。文件的内容可以是证书、私钥、公钥或其他内容。如果使用文本编辑器打开PEM文件,您将在顶部看到
----BEGIN??????---

扩展名
.crt
表示文件的内容是证书。但是,扩展名不能说明文件格式的任何信息。格式可以是PEM、DER(区分编码规则)()或其他格式。如果文件包含
----BEGIN CERTIFICATE----------
,则格式为PEM。另一方面,如果文件包含二进制数据,则格式可能是DER

扩展名
.key
表示文件内容是私钥。但是,扩展名不能说明文件格式的任何信息。格式可以是PEM、DER或其他格式。如果文件包含
----BEGIN私钥------
,则格式为PEM。另一方面,如果文件包含二进制数据,则格式可能是DER

字符串
csr
,它是文件名
client csr.pem
的一部分,表示文件的内容是csr(证书签名请求)。请注意,CSR不是证书。似乎您正在尝试将
客户机csr.pem
的文件格式从pem转换为DER,但是通过转换文件格式,csr将永远不会成为证书。我认为,您应该给
openssl
命令的不是
client csr.pem
,而是
client crt.pem

了解ASN.1()、DER()、BASE64()和PEM()之间的关系将提高问题的质量,帮助您避免浪费时间。我希望下面摘自“”的图表可以帮助您


“然而,我当前的证书是.pem,因此我认为需要先将它们转换为.crt和.key”这没有意义。首先,文件名和扩展名是不相关的。它们只是帮助人类,计算机不在乎。PEM是一种编码格式。“PEM文件”可以包含密钥或一个(或多个)证书。您引用的错误消息仅表示该文件不包含证书。您的问题与编程无关,但本资源应该告诉您格式转换所需的一切:“不管我当前的证书是.pem,所以我想我需要先将它们转换为.crt和.key”这没有意义。首先,文件名和扩展名是不相关的。它们只是帮助人类,计算机不在乎。PEM是一种编码格式。“PEM文件”可以包含密钥或一个(或多个)证书。您引用的错误消息仅表示该文件不包含证书。您的问题与编程无关,因此这里不涉及主题,但本资源应告诉您格式转换所需的一切:谢谢您的提问。。。还有我的错误。。我使用的是client-csr.pem,应该是clien