Comprender el protocolo openssl: ¿qué diablos son x509, crt, cer, key, csr, ssl, tls?¿Cómo emitir un certificado para su sitio web?


Hoy, cuando traté de construir un almacén privado de registro docker en una máquina mac, descubrí que el registro más reciente está obligado a usar la autenticación SSL por razones de seguridad, así que aprendí más sobre cómo usar openssl en linux/mac, y entré en contacto con un montón de nuevas abreviaturas en inglés. Organizado de la siguiente manera:

TLS: Abreviatura de Seguridad de la capa de transporte

SSL: abreviatura de capa de conexión segura

Para los desarrolladores que no son profesionales en seguridad, TLS y SSL pueden considerarse similares. Los dos tienen una relación paralela. Para ver las diferencias detalladas, consulte http://kb.cnblogs.com/page/197396/

CLAVE generalmente se refiere a una clave privada.

CSR es la abreviatura de Solicitud de firma de certificado, es decir, una solicitud de firma de certificado. Esto no es un certificado. Puede entenderse simplemente como una clave pública. Al generar un certificado, debe enviarse a una autoridad de certificación autorizada.

CRT es la abreviatura de certificado, es decir, certificado.

X.509 es un formato de certificado. Para los certificados X.509, el autenticador siempre es una CA o una persona designada por una CA. Un certificado X.509 es una colección de campos estándar que contienen información sobre usuarios o dispositivos e información sobre su correspondiente clave pública.

El archivo de certificado X.509 generalmente termina en .crt Según el formato de codificación del contenido del archivo, se puede dividir en los siguientes dos formatos:

PEM: correo con privacidad mejorada, ábralo para ver el formato de texto, comience con "-----BEGIN..." y termine con "-----END...", el contenido está codificado en BASE64. Apache
y * Los servidores NIX prefieren Usar este formato de codificación.

DER - Reglas de codificación distinguidas, abiertas en formato binario, ilegible.
Los servidores Java y Windows prefieren usar este formato de codificación

OpenSSL es equivalente a una implementación de SSL.Si la especificación SSL se considera una interfaz en OO, entonces OpenSSL se considera una implementación de la interfaz. La especificación de la interfaz en sí es segura, pero la implementación específica puede tener imperfecciones, como la vulnerabilidad anterior "Heartbleed", que es un error en OpenSSL.

Pasos para que openssl emita un certificado para sí mismo:

Premisa: primero cree un directorio de certificados, cd a este directorio, la ruta actual de todos los siguientes comandos es este directorio

1. Generar clave privada CLAVE

 
openssl genrsa -des3 -out server.key 2048
Después de ejecutar este paso, el archivo server.key se generará en el directorio cert

2. Genere un archivo de solicitud de certificado CSR
 
openssl req -new -key server.key -out server.csr
Este comando primero ingresa al modo interactivo, lo que le permite completar un montón de cosas, consulte la siguiente figura:



Cabe señalar que el nombre común debe completarse con el nombre de dominio o nombre de host que utiliza el certificado SSL (es decir, el protocolo https), de lo contrario, el navegador lo considerará inseguro. Por ejemplo: si planea usar https://yjm-docker/xxx en el futuro, complete yjm-docker aquí

3. Generar certificado CA

Como se mencionó anteriormente, el autenticador del certificado X.509 siempre es la CA o la persona designada por la CA, por lo que primero debe generar un certificado de CA
 
openssl req -new -x509 -key server.key -out ca.crt -days 3650
4. Finalmente, use el certificado de CA en el paso 3 para emitir un certificado para usted mismo y jugar con
 
openssl x509 -req -days 3650 -in server.csr \
  -CA ca.crt -CAkey server.key \
  -CAcreateserial -out server. crt
Después de la ejecución, cert El server.crt en el directorio es el certificado que necesitamos. Por supuesto, si desea mostrar el logotipo de candado verde seguro en navegadores como Google, el certificado emitido por usted mismo definitivamente no es fácil de usar, y tiene que gastar dinero para solicitarlo a una autoridad de certificación autorizada de terceros (es decir: el paso 4 se entrega a la autoridad para hacerlo), solo necesitamos enviar server.key, server.csr, oh y Grandpa Mao)


 

Supongo que te gusta

Origin blog.csdn.net/happyzhlb/article/details/120683045
Recomendado
Clasificación