para - descargar curl 7.43 0
no se puede establecer el archivo de clave privada: ''./cert.pem'' tipo PEM (3)
Después de leer la documentación de cURL sobre las opciones que utilizó, parece que la clave privada del certificado no está en el mismo archivo. Si está en un archivo diferente, debe mencionarlo usando --key file y supply passphrase.
Por lo tanto, asegúrese de que cert.pem tenga una clave privada (junto con el certificado) o proporciónela usando la opción de tecla.
Además, esta documentación menciona que Note que esta opción asume que un archivo de "certificado" es la clave privada y el certificado privado concatenado.
¿Cómo están concatenados? Es bastante fácil. Póngalos uno tras otro en el mismo archivo.
Puedes obtener más ayuda sobre esto aquí .
Creo que esto podría ayudarte.
Estoy usando curl para descargar datos de un sitio https usando archivos de certificados públicos.
Información del sistema:
- Sistema operativo: fedora 14
- curl: curl 7.30.0
- openssl: OpenSSL 1.0.0a-fips
El comando es,
curl -v "https://<ip:<port>" --cert "./cert.pem" --cacert "./cacert.pem" --cert-type PEM
* About to connect() to kng.com port 443 (#0)
* Trying 11.19.37.123...
* Adding handle: conn: 0x8189e68
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x8189e68) send_pipe: 1, recv_pipe: 0
* Connected to fkng.com (11.19.37.123) port 443 (#0)
* unable to set private key file: ''./cert.pem'' type PEM
* Closing connection 0
curl: (58) unable to set private key file: ''./cert.pem'' type PEM
He dado todos los permisos para el archivo .pem
, todavía curl arroja un error.
Gracias
No estoy seguro si esto ayudará a alguien pero recibí este error (aunque estaba usando php para crearlo en lugar de la línea de comandos) y para solucionarlo tuve que asegurarme de que no había ningún archivo antiguo .key o .pem en el directorio Estaba mirando. Al eliminarlos y hacer nuevos archivos con la autenticación funcionó perfectamente.
Me enfrenté a este problema cuando utilicé Open SSL y la solución fue dividir el certificado en 3 archivos y utilizarlos haciendo la llamada con Curl:
openssl pkcs12 -in mycert.p12 -out ca.pem -cacerts -nokeys
openssl pkcs12 -in mycert.p12 -out client.pem -clcerts -nokeys
openssl pkcs12 -in mycert.p12 -out key.pem -nocerts
curl --insecure --key key.pem --cacert ca.pem --cert client.pem:KeyChoosenByMeWhenIrunOpenSSL https://thesite