Validación local de certificados X.509
Haciendo experimentos de los míos, de esos inconfesables, a veces tengo que verificar el correcto funcionamiento de certificados X.509 generados de forma local.
Los pasos que suelo dar son los siguientes:
-
Comprobamos qué opina OpenSSL sobre nuestro certificado. Para ello empleo el comando openssl verify.
-
Hacemos una conexión TLS local con Python:
-
En una ventana ejecutamos este comando OpenSSL para lanzar un servidor TLS con el certificado que estamos probando:
$ openssl s_server -cert XXXX.jcea.es.cert -key XXXX.jcea.es.key
-
En otra ventana ejecutamos el siguiente código Python:
-
Este código se conecta al servidor local lanzado en el punto 1, forzando TLS 1.2 o superior. Se verificará el certificado pero se ignorará la comprobación del nombre de servidor.
Si esta conexión tiene éxito podemos estar razonablemente seguros de que el certificado X.509 va a funcionar en producción.