Un certificado X.509 es un documento digital que asocia de forma segura una clave pública con una identidad, como un sitio web, un individuo o una organización. Se utiliza para diversos fines, como cifrar y autenticar el tráfico web, firmar y verificar correos electrónicos, código y documentos, e identificar clientes y dispositivos.
En este artículo, aprenderá qué es un certificado X.509, cómo obtener uno de diferentes fuentes y cómo verificar su validez y autenticidad.
Un certificado X.509 es un formato estándar para los certificados de clave pública, que son documentos digitales que contienen la clave pública de un par de claves e información sobre el propietario del par de claves, llamado sujeto. El certificado también contiene información sobre el emisor del certificado, llamado la autoridad de certificación (CA), que es una entidad de confianza que verifica la identidad del sujeto y firma el certificado con su propia clave privada.
El propósito de un certificado X.509 es vincular una clave pública a una identidad, para que cualquiera que reciba el certificado pueda verificar que la clave pública pertenece al sujeto y que el certificado no ha sido alterado o revocado por la CA. De esta manera, el certificado se puede utilizar para varias operaciones criptográficas, como cifrado, descifrado, firma, verificación y autenticación.
Un certificado X.509 consta de varios campos y extensiones que proporcionan información sobre el certificado y su uso. Algunos de los campos comunes son:
Algunas de las extensiones comunes son:
Un certificado X.509 se puede usar para varias aplicaciones que requieren comunicación o identificación segura. Algunos de los ejemplos comunes son:
Para solicitar un certificado de una CA, debe generar un par de claves y una solicitud de firma de certificado (CSR), que es un archivo que contiene su clave pública y cierta información sobre su identidad y el uso previsto del certificado. Puede usar varias herramientas o comandos para generar un par de claves y un CSR, como OpenSSL, Keytool, Certbot, etc.
Luego, debe enviar su CSR a la CA y seguir sus instrucciones para verificar su identidad y propiedad del dominio. La CA le emitirá un certificado que contiene su clave pública y está firmado por su clave privada. Puede descargar el certificado desde el sitio web de la CA o recibirlo por correo electrónico.
Otra forma de obtener un certificado X.509 es descargar uno de un sitio web que ya tiene uno. Esto puede ser útil si desea inspeccionar o verificar el certificado de un sitio web que visita o en el que confía.
Para descargar un certificado desde un sitio web, puede usar su navegador web para ver los detalles del certificado y guardarlo como un archivo. Por ejemplo, en Google Chrome, puede hacer clic en el icono de bloqueo junto a la barra de direcciones, luego haga clic en "Certificado", luego haga clic en "Detalles", luego haga clic en "Copiar a archivo". Puede elegir el formato del archivo, como PEM o DER.
Una tercera manera de obtener un certificado X.509 es obtener uno de un archivo que alguien más le haya enviado o compartido con usted. Esto puede ser útil si desea utilizar o verificar el certificado de otra persona con la que se comunica o colabora.
Para obtener un certificado de un archivo, solo necesita abrir el archivo con una aplicación o herramienta adecuada que pueda leer y mostrar el contenido del certificado. Por ejemplo, puede usar OpenSSL, Keytool, Certutil, etc. También puede importar el certificado en el navegador web o en el almacén de certificados del sistema operativo para facilitar el acceso y la administración.
Para verificar un certificado utilizando un navegador, puede hacer clic en el icono de bloqueo junto a la barra de direcciones, luego haga clic en "Certificado", luego haga clic en "Detalles". Puede ver información sobre el certificado, como su emisor, asunto, período de validez, algoritmo de firma, uso de clave, etc. También puede ver si el certificado es de confianza para su navegador o no.
Si el certificado es de confianza para su navegador, significa que ha sido emitido por una CA que su navegador reconoce y confía, y que no ha sido revocado o caducado. Si el certificado no es de confianza para su navegador, significa que ha sido emitido por una CA desconocida o no confiable, o que ha sido revocado o caducado. En este caso, puede ver un mensaje de advertencia o una página de error cuando visita el sitio web.
Otra forma de verificar un certificado X.509 es usar OpenSSL, que es una herramienta de línea de comandos que puede realizar varias operaciones criptográficas en los certificados. Esto puede ser útil si desea tener más control y flexibilidad sobre el proceso de verificación y la salida.
Para verificar un certificado usando OpenSSL, necesita tener el archivo de certificado y el archivo de certificado de la CA que lo emitió. A continuación, puede utilizar el siguiente comando:
openssl verify -CAfile ca.crt cert.crtEste comando comprobará si el certificado cert.crt es válido y está firmado por CA ca.crt. También comprobará si la cadena de certificados es completa y coherente. Generará OK si la verificación es correcta, o un mensaje de error si no.
Un certificado X.509 es un documento digital que asocia de forma segura una clave pública con una identidad. Se puede utilizar para diversos fines que requieren cifrado, autenticación, firma o verificación. Puede obtener un certificado X.509 de diferentes fuentes, como una CA, un sitio web o un archivo. También puede verificar un certificado X.509 utilizando diferentes métodos, como un navegador o OpenSSL.
PEM y DER son dos formatos comunes para codificar y almacenar certificados. PEM significa Privacy-Enhanced Mail, y es un formato basado en texto que usa codificación y delimitadores Base64 como "------BEGIN CERTIFICATE-------" y "--------END CERTIFICATE--------". DER significa Reglas de Codificación Distinguida, y es un formato binario que usa codificación ASN.1. Ambos formatos pueden almacenar la misma información, pero tienen diferentes ventajas y desventajas. Por ejemplo, el PEM es más legible y compatible con varias herramientas, pero es más grande en tamaño y más propenso a errores. DER es más compacto y eficiente, pero es menos legible y compatible.
Puede usar varias herramientas o comandos para convertir un certificado de un formato a otro, como OpenSSL, Keytool, Certutil, etc. Por ejemplo, para convertir un certificado de PEM a DER usando OpenSSL, puede usar el siguiente comando:
openssl x509 -in cert.pem -outform der -out cert.derEste comando leerá el certificado del archivo cert.pem en formato PEM y lo escribirá en el archivo cert.der en formato DER.
Un certificado comodín es un certificado que se puede utilizar para múltiples subdominios de un nombre de dominio, en lugar de para un solo nombre de dominio. Por ejemplo, se puede usar un certificado comodín para *.example.com para www.example.com, mail.example.com, blog.example.com, etc. Un certificado comodín tiene un asterisco (*) en el nombre alternativo del asunto (SAN) extensión del certificado, que indica que puede coincidir con cualquier subdominio del nombre de dominio. Un certificado regular es un certificado que solo se puede utilizar para un nombre de dominio o una lista específica de nombres de dominio. Por ejemplo, un certificado regular para www.example.com solo puede usarse para www.example.com, y no para ningún otro subdominio o nombre de dominio. Un certificado regular tiene el nombre de dominio exacto o nombres en la extensión de nombre alternativo de asunto (SAN) del certificado.
Un certificado X.509 tiene varios beneficios e inconvenientes que dependen del contexto y el propósito de su uso. Algunos de los beneficios son:
Algunos de los inconvenientes son: