A la hora de usar documentos electrónicos codificados o firmados digitalmente es necesario tener en cuenta algunas consideraciones, por ejemplo que hayan sido expedidos por una autoridad de certificación válida. En este artículo te hablamos sobre el certificado X.509, sus principales características, tipos y usos.
En este artículo hablamos de:
¿Qué es un certificado X.509?
El certificado digital X.509 consiste en un formato estandarizado que se usa para los certificados de clave púbica, en inglés Public Key Infraestructure o PKI.
Dicho de otra manera, un certificado X.509 v3 es un documento que ha sido codificado o firmado de manera digital en base al estándar recogido en la Internet Engineering Task Force (IETF) y de acuerdo a la RFC 5280 que especifica un número de 64 bits para estos certificados.
Para descargar un certificado x.509 es necesario acudir a los servicios de una entidades de certificación autorizada. Por ejemplo:
- Dirección General de la Policía.
- FNMT-CERES (Fábrica Nacional de Moneda y Timbre).
- CATCert (Agència Catalana de Certificació).
- ACCV (Autoritat de Certificació de la Comunitat Valenciana).
- AC Camerfirma.
- ANF Autoridad de Certificación.
- ANCERT (Agencia Notarial de Certificación).
- Firma Profesional.
- SCR (Servicio de Certificación de los Registradores).
Para qué se utilizan estos certificados?
Los usos más comunes del certificado electrónico x.509.v3 son los siguientes:
- Para la navegación web encriptada mediante protocolos SSL (Secure Sockets Layer) y certificado https.
- Correos electrónicos cifrados y firmados electrónicamente a través del protocolo S/MIME.
- Firma de documentos electrónicos.
- *Te puede interesar: cómo se hace una firma digital.
- Firma de código.
- Autenticación de clientes.
- Identificación por vías electrónicas por parte de gobiernos o administraciones públicas.
Estructura
La estructura básica de un certificado digital estándar x.509 es la que se detalla a continuación:
- Versión. Al existir tres versiones, cada certificado indica a qué versión de ellas corresponde.
- Número de serie. Se trata de un número único que identifica a todos los certificados de una misma autoridad de certificación.
- Algoritmo. Indica qué algoritmo ha usado la autoridad de certificación para su firma.
- Nombre de la autoridad de certificación encargada de expedirlo.
- Período de validez.
- Nombre de sujeto dueño del certificado.
- Clave pública.
- Extensiones.
- Firma digital generada por la autoridad de certificación.
Características y elementos del certificado digital X.509
Un certificado de usuario x.509.v3 se caracteriza por una serie de elementos, los cuáles pasamos a ver a continuación.
Pares clave y firmas
Cada uno de estos certificados cuenta con una clave pública, una firma digital y toda aquella información relativa al propio certificado y a la autoridad de certificación que lo ha otorgado.
En lo referente a la llave pública, los certificados x-509 cuentan con un par de claves formadas por una clave pública, la cual se incluye en el certificado, y una clave de seguridad privada, que se mantiene segura.
Campos de certificado y extensiones
Como ya hemos indicado al hablar de su estructura, todos los certificados cuentan con una serie de campos que ofrecen amplia información acerca del propio certificado o sobre el dueño del mismo.
- Nombre del sujeto
- País o región
- Provincia o Estado
- Localidad
- Organización
- Número de serie
- Nombre común
- Código Postal
- Categoría de negocio
- Dirección (calle, número)
- Versión del certificado
- Algoritmo empleado
- Parámetros
- Período de validez
- Información asociada a la clave pública y firma
Por otro lado, los certificados x.509 también ofrecen una serie de extensiones válidas que otorgan una flexibilidad para el uso del certificado, permitiendo que pueda estar asociado a distintas identidades.
Cadenas de certificados
Otra de las principales características de un certificado x.509 es que suele estar combinado en forma de cadena para su validación. El principal motivo para ello es garantizar la seguridad de los certificados y facilitar las tareas administrativas.
Revocación
Los certificados que deben ser invalidados tras la fecha tope de su validez, pueden ser revocados. Está demostrado que las CRL (Listas de Revocación de Certificados) no son lo suficientemente eficaces a la hora de proceder a la revocación de certificados, por ello se recomienda el uso de otras soluciones como el protocolo OSCP (Online Certificate Status Protocol).
Tipos de certificados
Existen diferentes tipos de certificados x.509, dependiendo principalmente de las funciones que están destinados a cumplir.
Certificados SSL para cliente
Es un certificado digital personal estándar x.509 v.3 que está dirigido a una persona física y que asegura el cifrado de la información mediante el protocolo SSL o Secure Sockets Layer.
Certificados SSL para servidor
Al igual que el anterior, también emplea el protocolo SSL, pero en este caso está destinado a la identificación de un servidor frente a un cliente.
Certificados S/MIME
Son certificados que se suelen expedir a una persona física. Está concebido para el cifrado y firma de documentos en servicios de correo electrónico.
Certificados para la firma de código
Los certificados para la firma de código se emplean para la identificación de los autores de códigos o porciones de código que se ejecuten en la red, en cualquiera de los lenguajes de programación existentes.
Certificados para AC (Autoridades Certificadoras)
Los ejecuta el cliente y sirven para comprobar la validez de un determinado certificado o si ha sido expedido por una entidad de certificación autorizada.
Extensiones de X509
Un certificado x.509 también se puede clasificar en función de su formato o extensiones. A continuación vemos cuáles son las más comunes.
DER
Es una extensión empleada en certificados digitales con codificación binaria. No es un tipo de certificado, sino la extensión utilizada en el mismo.
PEM
Es un tipo de formato que se suele emplear en los certificados digitales x.509 v3 (la tercera versión) y que suelen estar codificados en ASCII o Base64.
CRT
Mientras que la extensión DER emplea la codificación binaria, los CRT emplean ASCII PEM. Se suele emplear en sistemas operativos Linux o Unix.
CER
Es una extensión similar a la CRT, aunque a diferencia de la anterior está pensada para seguir las convenciones de los sistemas operativos de Microsoft.
Cómo ver el contenido del certificado digitales
Este tipo de certificados no se muestran con un lenguaje legible o entendible para el ser humano. Para poder analizar su contenido es necesario el uso de herramientas especiales como OpenSSL. Se trata de un software libre que cuenta con opciones de administración y biblioteca relacionadas con criptografía.
Cómo cambiar el formato del certificado X.509
Existe la posibilidad de modificar el formato del certificado, lo cual se puede hacer recurriendo, de nuevo, a herramientas como OpenSSL.
Para modificar la extensión de PEM a DER hay que introducir el siguiente comando:
- openssl x509 -in cert.crt -outform der -out cert.der
Por su parte, para cambiar el formato de DER a PEM el comando a introducir será este:
- openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
Si necesitas más información sobre el tema, en nuestra web encontrarás otros artículos que te pueden resultar de interés, por ejemplo sobre cómo firmar un PDF con certificado digital.