2011-03-01 13 views
5

Quiero conectarme a un sitio seguro usando PHP cURL. Los propietarios de los sitios nos dieron cuatro archivos:No se puede establecer el archivo de clave privada usando cURL

  1. sitename.key
  2. sitename.p12
  3. sitename.pem
  4. ICOM-vivo-ca.pem

y la frase pase 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'); 

estoy consiguiendo el error siguiente:

Unable to set private key file:'filepath'/secure.key type PEM.

no he hecho ningún ajuste en mi servidor. ¿Debo instalar/modificar cualquier configuración en el servidor del cliente para acceder a los sitios HTTPS?

+0

¿Se puede decir lo que el problema se le van a hacer? – Ikke

+0

Estoy por encima del error: no se puede establecer el archivo de clave privada: 'filepath'/secure.key type PEM. Tenga en cuenta que no he hecho ninguna configuración en mi servidor. ¿Debo instalar/hacer alguna configuración en el servidor del cliente para acceder al sitio https? – devel

Respuesta

2

Debe verificar los permisos de archivos de los archivos y el directorio en el que se encuentran para asegurarse de que su programa pueda leerlos correctamente. Si eso no funciona, verifique el archivo .pem para asegurarse de que el certificado esté seguido del certificado de su emisor.

Ver esta pregunta y respuestas para obtener más información: Unable to use libcurl to access a site requiring client authentication

Cuestiones relacionadas