Невозможно установить файл закрытого ключа с помощью cURL - PullRequest
5 голосов
/ 01 марта 2011

Я хочу подключиться к защищенному сайту, используя PHP cURL.Владельцы сайта предоставили нам четыре файла:

  1. sitename.key
  2. sitename.p12
  3. sitename.pem
  4. icom-live-ca.pem

И пароль 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');

Я получаю следующую ошибку:

Невозможно установить файл личного ключа: 'filepath'/secure.key типа PEM.

На моем сервере не было никаких настроек.Нужно ли устанавливать / изменять какие-либо настройки на клиентском сервере, а также для доступа к HTTPS-сайтам?

1 Ответ

2 голосов
/ 21 февраля 2012

Вы должны проверить права доступа к файлам и каталогу, в котором они находятся, чтобы убедиться, что ваша программа может правильно их прочитать.Если это не сработает, проверьте файл .pem, чтобы убедиться, что за сертификатом следует сертификат его эмитента.

См. Этот вопрос и ответы для получения дополнительной информации: Невозможно использовать libcurl для доступа ксайт, требующий аутентификации клиента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...