Tengo la siguiente "cadena" de certificados en una máquina de prueba en este momento:
- Un certificado CA autofirmado en mi llavero y Trusted & Confiado por Firefox.
-
Un certificado CA con lo siguiente,
X509v3 Name Constraints: critical Permitted: DNS:mydomain.net DNS:.mydomain.net
-
Un certificado que no sea de CA con la firma de lo anterior.
El servidor web de prueba sirve a los dos últimos certificados; el primero está marcado como "de confianza" en Keychain en OS X, en Firefox, y en mi lado de Linux, también en FF y por certutil
.
En OS X, Firefox acepta la conexión como segura; Chrome y Safari no lo hacen. Parece que Chrome & Safari solo usa lo que el sistema operativo utiliza para fines de cifrado, por lo que aquí, el problema es OS X. Viendo el cert muestra:
"This certificate cannot be used (unrecognized critical extension)"
Extension: Name Constraints (2.5.29.30)
Critical: YES
Data: <a sequence of octets>
Estoy adivinando porque veo una secuencia de octetos, y no una buena vista decodificada (como hago con otras extensiones), que esta es la extensión que causa el error.
No puedo hacer que funcione en Linux tampoco bajo Chrome (funciona bien en FF, otra vez); allí, sin embargo, no parece poder encontrar el certificado raíz (mientras que en OS X puede); Creo que esto es porque no entiendo cómo aceptar mi certificado autofirmado. (Internet dice certutil
, y he intentado casi todas las combinaciones de eso en vano).