OCSP: Validar estado de revocación de certificados FNMT mediante protocolo OCSP y openSSL


OCSP (Online Certificate Status Protocol) es un protocolo que se emplea para determinar el estado y vigencia de un certificado en un momento determinado. La FNMT (Fabrica Nacional de Moneda y Timbre) ofrece este servicio para los certificados emitidos por cualquiera de sus autoridades certificadoras.

Hasta no hace mucho, este servicio se ofrecía por la FNMT de forma privada para empresas y con coste por consulta. Imaginamos que a raíz de las distintas directivas europeas, los servicios OCSP de la FNTM ahora se ofrecen de forma abierta y gratuita.

En este post os enseñaremos a emplear la herramienta openssl para verificar el estado de alguno de los certificados emitidos por la FNMT en función del tipo de certificado que se trate.

Certificados de Persona Física

La vigencia de los certificados de persona física se consultan contra la siguiente URL: http://ocspusu.cert.fnmt.es/ocspusu/OcspResponder

Para ello necesitaremos el certificado AC Raíz de los certificados emitidos por la autoridad subordinada AC Usuarios de la FNMT, y el certificado raíz de  AC Raíz FNMT-RCM.

Para poder emplear estos certificados con cualquier versión de openssl es conveniente que estén en formato Base64 (PEM), más abajo incluyo un tutorial para hacer la conversión desde windows.

Para hacer la consulta podemos optar por consultar por el serial id del certificado si lo conocemos:

  • ocsp: indicar a openssl que queremos emplear la herramienta de consultas ocsp
  • issuer: Fichero PEM con el certificado emisor del  certificado que queremos consultar (AC Usuarios)
  • serial: número de serie del certificado que vamos a consultar
  • url: dirección del servicio ocsp que queremos consultar
  • CAfile: Fichero PEM con el certificado de la CA que valida al emisor del certificado (AC Raíz FNMT-RCM)

O directamente pasando un fichero con el certificado:

  • cert: Fichero PEM con el certificado sobre el que queremos hacer la consulta

Resultado

En este caso estamos haciendo la consulta sobre un certificado de pruebas que se encuentra revocado.

La respuesta que obtendremos será:

Respuesta OCSP AC Usuarios

Certificados de Representación

La vigencia de los certificados de representación se consulta contra la siguiente URL: http://ocsprep.cert.fnmt.es/ocsprep/OcspResponder

Del mismo modo que en el caso de los certificados de persona física, aquí necesitaremos el certificado AC Raíz de la autoridad subordinada AC Representación, y el certificado AC Raiz FNMT-RCM.

Del mismo modo que en el caso anterior, podemos consultar por serial id:

O directamente pasando un fichero PEM con el certificado a consultar a openssl:

Es conveniente notar que en este caso estamos empleando como issuer el certificado raíz de AC Representaicón y como url la dirección del responder específico.

Resultado

Del mismo modo que en el caso anterior estamos haciendo la consulta sobre un certificado de pruebas que se encuentra revocado.

Respuesta OCSP AC Representación

 

Certificados Clase 2 CA

Aunque estos certificados están siendo sustituidos por los de representación de persona jurídica y ya se encuentran obsoletos, puede resultar conveniente consultar el estado de los mismos ya que aun quedan muchos pendientes de caducar y todavía están en uso.

La vigencia de los certificados de Clase 2 CA se consultan contra la siguiente URL: http://ocspc2.cert.fnmt.es/ocspc2/OcspResponder

Para poder validar la respuesta del servidor OCSP necesitaremos el certificado raíz FNMT Clase 2 CA.

Al igual que en los casos anteriores, podemos hacer la consulta directamente por el serial id del certificado:

En este caso, tanto el issuer como el CAfile serán el mismo fichero, ya que el emisor del certificado a verificar y la autoridad certificadora son la misma.

Asimismo, el serial id será más corto, ya que en este caso se utiliza el algoritmo SHA1 en lugar del SHA256 que se emplea en los anteriores.

También podemos hacer la consulta pasando el certificado en un fichero PEM:

Respuestas

En la imagen siguiente vemos el estado del certificado que hemos consultado por id, que se encuentra revocado (desde 2004).

Respuesta OCSP FNMT Clase 2 CA

En la siguiente imagen vemos el estado correcto de un certificado que hemos consultado por fichero.

Respuesta OCSP FNMT Clase 2 CA - Good

Exportar certificado en formato PEM (Base64) desde Windows

Tal como hemos mencionado antes, para facilitar el funcionamiento de la herramienta OpenSSL en todos los entornos, lo conveniente es emplear ficheros de certificados en formato PEM.

Desde Windows podemos exportar los certificados a este formato de forma sencilla siguiendo estos pasos:

Abrimos el certificado con la herramienta específica de Windows y consultamos los detalles:

Certificate Details

Presionamos sobre el botón copiar a fichero, a continuación presionamos sobre siguiente, elegimos no exportar la clave privada y en las opciones de formato elegimos Codificación Base-64 X.509.

Exportar Certificado en Windows - Elegir Formato

Finalmente elegimos la ruta dónde lo queremos guardar y terminamos la operación.

 

Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on PinterestEmail this to someone

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *