Curl OpenSSL证书创建和pem/cer输出
这里有几个类似的问题,但没有一个回答我的问题。我正在尝试获取SSL证书,以便在web服务的HTTPS上运行 首先,我创建了csrCurl OpenSSL证书创建和pem/cer输出,curl,https,private-key,public-key,php-openssl,Curl,Https,Private Key,Public Key,Php Openssl,这里有几个类似的问题,但没有一个回答我的问题。我正在尝试获取SSL证书,以便在web服务的HTTPS上运行 首先,我创建了csr openssl req -newkey rsa:2048 -keyout myserver_private.key -out myserver_pkcs10.csr 我的linux机器上有这两个文件 我将csr文件发送给web服务进行签名,他们返回: signingauthority\u Root\u CA.crt,myserver\u pkcs10.csr,他们的
openssl req -newkey rsa:2048 -keyout myserver_private.key -out myserver_pkcs10.csr
我的linux机器上有这两个文件
我将csr文件发送给web服务进行签名,他们返回:
signingauthority\u Root\u CA.crt
,myserver\u pkcs10.csr
,他们的服务器\u CA.crt
对于我的curl\u setopt($ch,CURLOPT\u SSLCERT,“?.pem”)代码>我现在需要.pem文件。如何创建此文件以及从哪个文件创建<代码>服务器的CA.crt
我是否还需要使用
curl_setopt($ch,CURLOPT_CAINFO,“?.cer”)代码>如果是,我如何创建这个.cer文件?这是签名机构吗?用文本编辑器打开*.crt
文件。如果它们是PEM,则它们将包含以----开始证书------
和----结束证书------
分隔的Base64文本块
如果是这种情况,只需重命名文件即可
如果文件是二进制文件,则为DER。要转换为Base64(PEM),请使用:
查看每个证书的主题和颁发者,以了解您已发送的内容。这是正确的。在你回答之前我就想出来了,但很高兴知道它基本上是正确的。我将每个文件都转换为DER,然后转换为PEM(这种方式可能并不完全必要)。然后,我将myserver\u private.key
的内容添加到myserver\u pkcs10.pem
,在----BEGIN CERTIFICATE-----
之前,并将文件重命名为myserver\u full.pem
。当我在CURLOPT\u SSLCERT
中尝试myserver\u pkcs10.pem
(不带私钥)时,它抛出了一个错误,因此我认为我还需要添加私钥。
openssl x509 -in <DER filename> -outform PEM -out <PEM filename>
openssl x509 -noout -subject -issuer -in <PEM file>