1
My Pemファイルはこの形式です。カールエラー:秘密鍵ファイルを設定できません: 'test.pem' type PEM
Bag Attributes
localKeyID:
friendlyName: test
subject=/C=GB/ST=London/L=Soho/O=Rightmove/OU=RTDF/CN=cmexpertise
issuer=/C=GB/ST=London/L=Soho/O=Rightmove/OU=Operations/CN=RTDF Test Issuing CA v3/[email protected]
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Bag Attributes
localKeyID:
friendlyName: test
subject=/C=GB/ST=London/L=Soho/O=Rightmove/OU=RTDF/CN=cmexpertise
issuer=/C=GB/ST=London/L=Soho/O=Rightmove/OU=Operations/CN=RTDF Test Issuing CA v3/[email protected]
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Bag Attributes
localKeyID:
friendlyName: test
subject=/C=GB/ST=London/L=Soho/O=Rightmove/OU=RTDF/CN=cmexpertise
issuer=/C=GB/ST=London/L=Soho/O=Rightmove/OU=Operations/CN=RTDF Test Issuing CA v3/[email protected]
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B9E036426B7AEDA6
-----END RSA PRIVATE KEY-----
私はこのPHPコードを使用しています。私はこのエラーが発生しています。
Curl Error: unable to set private key file: 'test.pem' type PEM
コード。
$json_data // it's a json array.
$url = "https://adfapi.adftest.rightmove.com/v1/property/sendpropertydetails";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// $pemFile = tmpfile();
// fwrite($pemFile, "test.pem"); //the path for the pem file
// $tempPemPath = stream_get_meta_data($pemFile);
// $tempPemPath = $tempPemPath['uri'];
curl_setopt($ch, CURLOPT_SSLCERT, "test.pem");
curl_setopt($ch,CURLOPT_SSLCERTTYPE,"PEM");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/javascript'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
curl_setopt($ch, CURLOPT_POST, True);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$result = curl_exec($ch);
if(!$result)
{
echo "Curl Error: " . curl_error($ch);
}
else
{
echo "Success: ". $result;
}
$info = curl_getinfo($ch);
curl_close($ch); // close cURL handler
if (empty($info['http_code'])) {
die("No HTTP code was returned");
} else {
// load the HTTP codes
$http_codes = parse_ini_file("path/to/the/ini/file/I/pasted/above");
// echo results
echo "The server responded: <br />";
echo $info['http_code'] . " " . $http_codes[$info['http_code']];
}
私は、証明書のデコーダのためのオンラインチェック: https://www.sslshopper.com/certificate-decoder.html と証明書は、このサイト上で有効です。
ここで私はそれを把握することはできません問題は何ですか。 私もsslコマンドで試してみました。
カールエラー:0200107B:システムライブラリ:関数fopen:不明なエラー(見つかりませキー、間違ったパスフレーズ、または間違ったファイルPEMクライアント証明書、OpenSSLのエラーエラーをロードできませんでした私はあなたのPHPコードとPEMファイルを使用するときに私が得るエラーです。そのファイルの秘密鍵が証明書の対応する公開鍵と一致しない理由は、 – Veeram
@Reddy。あなたの返事の兄弟に感謝します。 2つのエラーがあります.pemファイルに1つのエラーがあり、pemファイルにエラーがあり、別のエラーはコードにCURLOPT_SSLCERTPASSWD()が含まれていないことです。 – Bhavin