Cita:
Empezado por ermendalenda
No, curl tiene opciones de obtener y usar los certificados de almacenes, es un poco tiquismiquis pero sabiendolo hacer se puede,
|
Por lo que yo he visto curl viene con dos compilaciones principales: curl + openssl y curl + schannel.
Curl + openssl no accede a los certificados del equipo, o al menos yo no he visto como hacerlo.
Curl + schannel sí accede a los certificados del equipo, pero no logra la conexión en Windows 7 CON HACIENDA (ojo, con hacienda, si con otros endpoints, y sí en las versiones posteriores de windows). La razón es que Hacienda envía al establecer la conexión un "ServerHello" con suites de cifrado TLS1.2 que Schannel en Windows 7 / 2012 no soporta, ni aunque tú las habilites desde el registro. Y a partir de aquí copy paste:
Cita:
En todas las conexiones a AEAT el servidor de Hacienda obliga a usar:
Ciphers modernos TLS1.2 basados en ECDHE-RSA + AES-GCM + SHA256
Ejemplos:- ECDHE-RSA-AES128-GCM-SHA256
- ECDHE-RSA-AES256-GCM-SHA384
Además, el servidor pide:- TLS1.2 como mínimo
- Intercambio de claves ECDHE moderno
- Firmas SHA256
- Curvas P-256 o P-384
¿Por qué Schannel fallaba aunque habilitases TLS1.2 y AES-GCM?
Porque tu Windows Server 2012 tiene estas limitaciones intrínsecas:
a) Implementación antigua de ECDHE en Schannel
→ No soporta las curvas o métodos modernos usados por la AEAT.
b) Matriz de cifrados de AES-GCM incompleta
→ Aunque aparezcan como “habilitados”, Schannel no implementa completamente los suites ECDHE-RSA-AES256-GCM-SHA384 ni ECDHE-RSA-AES128-GCM-SHA256.
c) Schannel NO permite usar --ciphers en curl
→ Las opciones de curl no pueden forzar nada.
Schannel decide por sí mismo la lista de suites aplicables.
|
Yo lo estuve probando en un windows server 2012 y no fui capaz de hacerlo (aunque quizá otro sí sepa claro). En Windows server 2012 R2 tengo entendido que sí funciona porque ya tiene implementado estos métodos, aunque por ahora no lo he probado. La verdad no se como será en Windows 7, si alguna actualización final los habrá implementado o no.
Por cierto esta limitación no la hay en Ticketbai, son menos exigentes con los cifrados.