¿Utiliza el certificado autofirmado con cURL?

Tengo una aplicación de matraz que se ejecuta con un certificado autofirmado. Puedo enviar una solicitud de curl usando:

curl -v -k -H "Content-Type: application/json" -d '{"data":"value1","key":"value2"}' https://: 

Los registros detallados muestran que todo salió bien.

Quería evitar el uso de la opción -k (–insecure) y, en su lugar, especificar un archivo .pem que podría usar curl. Al mirar la página man curl encontré que podías hacer esto usando la opción –cert. Así que creé un archivo .pem usando esto:

 openssl rsa -in server.key -text > private.pem 

CURL me lanza este error cuando usa el archivo private.pem:

 curl: (58) unable to use client certificate (no key found or wrong pass phrase?) 

¿Alguna sugerencia? ¿O solo es posible con un certificado firmado correctamente?

Tnx

Esta es solo otra versión de esta pregunta: Usar openssl para obtener el certificado de un servidor

O ponlo más directo:

Usar curl –cert es incorrecto, es para certificados de cliente.

Primero, obtenga los certs que usa su servidor:

 $ echo quit | openssl s_client -showcerts -servername server -connect server:443 > cacert.pem 

( -servername es necesario para SNI para que pueda recuperar el certificado del servidor virtual correcto)

Luego haga que su línea de comando curl use ese conjunto para verificar el servidor en operaciones posteriores:

 $ curl --cacert cacert.pem https://server/ [and the rest]