Tengo un problema con los certificados autofirmados en un clúster etcd
. Los certificados están bien porque si los uso en nginx
, no hay ningún error mientras agrego el archivo CA a mi tienda de certificados.
Esta es una captura de curl --cacert ca.pem https://192.168.73.120:2379
cuando se usa nginx
. enlace
Sin embargo, si en lugar de usar nginx
yo uso etcd
(que es el servicio real que quiero configurar), un curl --cacert ca.pem https://192.168.73.120:2379/v2/keys
, por ejemplo, lanza curl: (35) Unknown SSL protocol error in connection to 192.168.73.120:-9825
en Mac OS o curl: (35) gnutls_handshake() failed: Certificate is bad
en Linux.
La siguiente es una captura de red cuando se usa etcd
enlace . Como puede ver en el paquete 21, el servidor está devolviendo un Bad certificate
.
Algunas investigaciones sobre el código de error curl
35 indican que la razón podría ser:
- Cifrados: no es un problema, ambos usan
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- Permisos: tampoco es un problema, los archivos cert están configurados en 644 y los archivos clave en 600.
- Procotol: no es un problema, ambos usan
TLSv1.2
- Clave privada caducada: se generó con 365 días de vida útil, por lo que no caducó.
Si uso Chrome
, obtengo ERR_BAD_SSL_CLIENT_AUTH_CERT
. Sin embargo, al inspeccionar la consola, dice que el certificado es válido (porque agregué la CA a mi tienda).
Así que realmente no tengo ideas en este momento. ¿Cuál crees que podría ser la raíz de este problema?