I want to connect to a secure site using PHP cURL. The site owners provided us with four files:
- sitename.key
- sitename.p12
- sitename.pem
- ICOM live ca.pem
And the missing phrase is PEM.
$curl_resource = curl_init ();
curl_setopt ( $curl_resource, CURLOPT_URL, $sHost );
curl_setopt ( $curl_resource, CURLOPT_POST, 1 );
curl_setopt ( $curl_resource, CURLOPT_POSTFIELDS, $post_string );
curl_setopt ( $curl_resource, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $curl_resource, CURLOPT_HTTPHEADER, $headerdata);
curl_setopt ( $curl_resource, CURLOPT_HEADER, true);
curl_setopt ( $curl_resource, CURLOPT_SSLCERT , HOMEDIR.'cert/icom-live-ca.pem');
curl_setopt ( $curl_resource, CURLOPT_SSLCERTPASSWD, 'PEM pass phrase');
curl_setopt ( $curl_resource, CURLOPT_SSLKEY, HOMEDIR.'cert/secure.key');
curl_setopt ( $curl_resource, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt ( $curl_resource, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ( $curl_resource, CURLOPT_SSLCERTTYPE, 'PEM');
I get the following error:
Unable to install private key file: 'filepath' / secure.key enter PEM.
I have not made any settings on my server. Do I need to install / change any settings on the client server, as well as to access HTTPS sites?
source
share