Ejecutando el siguiente comando:
curl -v --key client_key.key --cert client_cert.crt <some url> -u <username>
Recibo la siguiente respuesta:
* Trying XX.XXX.XXX.X...
* TCP_NODELAY set
* Connected to <somedomain.com> (XX.XXX.XXX.X) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS alert, Server hello (2):
* error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate
* stopped the pause stream!
* Closing connection 0
curl: (35) error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate
Estoy un poco inseguro de cómo seguir identificando cuál es el problema aquí. El certificado de cliente que estoy proporcionando está firmado por GlobalSign:
CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa
El servidor está destinado a verificar que el certificado es de una autoridad confiable y lo reenvíe. Tenía la impresión de que una autoridad de certificados de confianza funcionaría.
Sé que no es mucho por lo que seguir, pero cualquier idea de cómo podría abordar el problema sería muy útil.
TIA.