Cómo generar un certificado CA
Las situaciones en las que necesita generar manualmente un certificado incluyen:
No se encontró ningún certificado disponible
Es necesario configurar SSL bidireccional, pero el certificado del cliente falta
Se requiere certificado personalizado
Primero, ya sea que esté utilizando Cygwin en Linux o Windows, asegúrese de tener instalado el paquete OpenSSL.
1. Cree el archivo de clave del certificado raíz (cree su propia CA) root.key:
openssl genrsa -des3 -out root.key
La salida es:
[lenin@archer ~]$ openssl genrsa -des3 -out root.key
Genera clave privada RSA, módulo de 512 bits de longitud
. .............++++++++++++
...++++++++++++ < /. p>
e es 65537 (0×10001)
Ingrese la frase de contraseña para root.key: ← Ingrese la nueva contraseña
Verificación: ingrese la contraseña para root.key: ← Ingrese el contraseña nuevamente
2. Cree el archivo de solicitud de certificado raíz root.csr:
openssl req -new -key root.key -out root.csr
la salida es:
[lenin@archer ~]$ openssl req -new -key root.key -out root.csr
Ingrese la frase de contraseña para root.key: ← Ingrese el contraseña creada previamente
Se le pedirá que ingrese cierta información que se incluirá
en su solicitud de certificado.
La información que está a punto de ingresar se denomina "nombre distinguido" o "DN".
Hay muchos campos, pero algunos se pueden dejar en blanco.
Algunos campos tienen valores predeterminados
Si ingresa "...", el valor predeterminado es "...".
Algunos campos tendrán un valor predeterminado.
Si ingresa "'', el campo quedará en blanco.
--
Nombre del país (código de dos letras) [AU]: CN ← Código de país, ingrese CN para representar a China
Nombre del estado o provincia (nombre completo) [Some-State]: BeiJing ← Nombre completo de la provincia, Pinyin
Nombre del lugar (por ejemplo, ciudad) []: BeiJing ← Nombre completo de la ciudad, Pinyin
Nombre de la organización (por ejemplo, empresa) []: Internet Widgits Pty Ltd. []: Internet Widgits Pty Ltd. [ ]:Internet Widgits Pty Ltd. []:Internet Widgits Pty Ltd.Internet Widgits Pty Ltd]:MyCompany Corp.← Nombre de la empresa en inglés
Unidad organizativa Nombre (p. ej., sección) []:← Se puede dejar en blanco
Nombre común (p. ej., su nombre) []: ← Ninguno todavía.
Ingrese
Dirección de correo electrónico[]:admin@mycompany.com ← Dirección de correo electrónico, complétela como desee
Ingrese los siguientes atributos "extra"
para enviar con su solicitud de certificado
Desafío de contraseña[]: ← Se puede dejar en blanco
Nombre de empresa opcional[]: ← Crear una raíz por diez años a partir de la actual fecha Certificado root.com. Certificado raíz root.crt:
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.req -out root.crt
La salida es :
[lenin@ archer ~]$ openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt
Firma
subject=/C= CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./emailAddress=admin@mycompany.com
Obteniendo clave privada
Ingrese la frase de contraseña para root.key: ←Ingrese la frase de contraseña para root.key
4. Cree la clave de certificado del servidor server.key:
openssl genrsa -des3 -out server .key 2048
La salida es:
[lenin@archer ~] $ openssl genrsa -out server.key 2048
Generar clave privada RSA, 2048 bits Módulo largo
....+++
.................... .................. .................+++
e es 65537 (0×10001)
Cuando ejecute Cuando lo haga, se le solicitará la contraseña que se utilizará para cifrar el archivo clave (el parámetro des3 se refiere al algoritmo de cifrado , pero, por supuesto, puede utilizar cualquier otro algoritmo que considere seguro). Si desea leer el archivo (a través del comando openssl o API), debe ingresar una contraseña. Puede eliminar su contraseña si le resulta inconveniente, ¡pero asegúrese de tomar otras medidas de protección!
Comando para eliminar la contraseña del archivo de claves:
openssl rsa -in server.key -out server.key
Crea una solicitud de certificado de servidor. archivo server.csr:
openssl req -new -key server.key -out server.csr
La salida es:
[lenin@archer ~] $ openssl req -new -key server.key -out server.req
Se le pedirá que ingrese
información que se incluirá en su solicitud de certificado
.
La información que está a punto de ingresar es lo que se llama "nombre distinguido" o DN.
Lo que está a punto de ingresar es lo que se llama un nombre distinguido o DN.
Hay muchos campos, pero puedes dejar algunos en blanco.
Para algunos campos, habrá un valor predeterminado,
Si ingresa '.' /p>
Si ingresa '', este campo quedará en blanco.
--
Nombre del país (código de 2 letras) [AU]:CN ←Nombre del país, ingrese CN para China
Nombre del estado o provincia (nombre completo ) [ Algún estado]: Beijing ← Nombre de la provincia, Pinyin
Nombre del lugar (por ejemplo, ciudad) []: Beijing ← Nombre de la ciudad, Pinyin
Nombre de la organización (por ejemplo, empresa) [Widgits de Internet []:www.mycompany.com ← mycompany.com.com ← Nombre de host del servidor, si no se completa correctamente, el navegador informará que el certificado no es válido, pero no afectará el uso
Dirección de correo electrónico []:admin@mycompany. com ← Dirección de correo electrónico, se puede completar
Ingrese los siguientes atributos "extra"
Se enviará con el certificado solicitar
Una contraseña de desafío []: ← Puede dejarla en blanco
Nombre de la empresa opcional []: ← Nombre de la empresa opcional []: ← Puede dejarla en blanco
6. Crear certificado de servidor server.crt Dos días a partir de la fecha actual Válido dentro del año:
openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.key -CAserial root. srl -CAcreateserial -in server.csr -out server.crt
La salida es:
[lenin@archer ~]$ openssl x509 -req -days 730 -sha1 -extensions v3_req días 730 -sha1 -extensiones v3_req -CA root.crt -CAkey root.key -CAcreateserial - in server.csr -out server.crt
Firma ok
subject=/ C= CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www. mycompany.com/emailAddress=admin@mycompany.com
Obtención de la clave privada de CA
Ingresar la frase de contraseña para root.key: ← Ingrese la contraseña que creó anteriormente
7. Cree el archivo de clave de certificado del cliente client.key:
openssl genrsa -des3 -out client.key 2048
El resultado es:
[lenin@ archer ~]$ openssl genrsa -des3 -out client.key 2048
Generar clave privada RSA, 2048 bits módulo largo
... ..... ................................. ................................ ................. .......+++
............ .................. ... ................................. ........ ........... ...................
+++
e es 65537 (0×10001)
Ingrese la frase de contraseña para client.key: ← Ingrese una nueva contraseña
Verificación - Ingrese la frase de client.key para: ← Vuelva a ingresar la frase de contraseña para client.key: ← Ingrese una nueva contraseña
8. Cree el archivo de solicitud de certificado de cliente client.csr:
openssl req -new -key client .key -out client.csr
La salida es:
[lenin@archer ~]$ openssl req -new -key client.key -out client.csr
Ingrese la frase de contraseña para client.key: ← Ingrese la contraseña que creó en el paso anterior
La información que se le pedirá que ingrese se incluirá en su solicitud de certificado.
Lo que está a punto de ingresar es lo que se llama un nombre distinguido o DN.
Hay muchos campos, pero algunos se pueden dejar en blanco.
Algunos campos tendrán un valor predeterminado,
Si ingresas '.' Si ingresa '' y el campo quedará en blanco.
--
Nombre del país (código de 2 letras) [AU]:CN ←Nombre del país, ingrese CN para China
Nombre del estado o provincia (nombre completo ) [ Algún estado]: Beijing ← Nombre de la provincia, Pinyin
Nombre del lugar (por ejemplo, ciudad) []: Beijing ← Nombre de la ciudad, Pinyin
Nombre de la organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: MyCompany Corp.← Nombre de la empresa en inglés
Nombre de la unidad organizativa (por ejemplo, departamento) []: ← Se puede dejar en blanco
Nombre común ( por ejemplo, su nombre)[ ]:Lenin ← su propio nombre en inglés. Puede completar cualquier dirección de correo electrónico
Dirección de correo electrónico []:admin@mycompany.com ← Dirección de correo electrónico, puede completar cualquier
Ingrese los siguientes atributos "extra" p>
Para ser enviado, ingrese los siguientes atributos "extra"
Para ser enviado, ingrese los siguientes atributos "extra"
Para ser enviado, ingrese el siguientes atributos "extra"
Para enviar, ingrese los siguientes atributos "extra"
Para enviar, ingrese los siguientes atributos "extra"
Para enviarlo, ingrese los siguientes atributos "extra" ← Opcional de
Un nombre de empresa opcional []: Opcional ←
9. Cree un certificado de cliente válido por dos años desde la fecha actual.
Cree un certificado de cliente client.crt que sea válido por dos años a partir de la fecha actual:
openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root .srl -CAcreateserial root.key -CAcreateserial root.srl -CAcreateserial root.srlsrl -CAcreateserial - in client.csr -out in client.csr -out client.crt
La salida es:
[lenin@archer ~]$ openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.key -CAcreateserial -in client.csr -out client.crt
Firma ok p>
subject=/C=CN/ST=BeiJing/L=BeiJing/O=MyCompany Corp./CN=www. mycompany.com/emailAddress=admin@mycompany.com
Obtención de CA Clave privada
Ingrese la frase de contraseña para root.key: ← Ingrese la contraseña creada anteriormente
10. Coloque el archivo de certificado de cliente client.crt y el archivo de clave de certificado de cliente client.key en el paquete de instalación del certificado del cliente client.pfx:
openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx
El resultado de salida es:
[ lenin@archer ~]$ openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx
Ingrese la frase de contraseña para client.key: ← Ingrese la contraseña creada arriba
Ingrese la contraseña de exportación: ← Ingrese la nueva contraseña que se usará para proteger el certificado del cliente y se requiere al instalar el certificado en el cliente
Verificación: ingrese la contraseña de exportación : ← Confirmar contraseña
11. Guarde el archivo generado para realizar una copia de seguridad, donde server.crt y server.key son los archivos de certificado utilizados al configurar SSL unidireccional, client.crt es el archivo de certificado utilizado al configurar SSL bidireccional, y client.pfx es la configuración El archivo de certificado instalado por el cliente durante SSL bidireccional
El archivo .crt y .key se pueden fusionar en un solo archivo, y los dos archivos se combinados en un archivo .pem (simplemente cópielo directamente)
Referencia: /s/blog_4fd50c390101891c.html
Los certificados x509 generalmente usan tres tipos de texto, a saber, clave, csr y crt .
La clave es la clave privada SSL, utilizada para los archivos de certificado de instalación del cliente. La clave es la clave privada de la red openssl, que generalmente utiliza el algoritmo rsa.
Csr es el archivo de solicitud de certificado, utilizado para solicitar certificados. Al crear un archivo csr, debe firmar la aplicación con su propia clave privada o puede configurar una clave.
Crt es el texto del certificado después de la certificación de CA (en realidad, crt en Windows. El firmante usa su propia clave para firmar el certificado por usted).
1. Generación de clave
opensslgenrsa -des3 -out server.key 2048
Esto es para generar clave privada rsa, algoritmo des3, formato openssl, 2048 bits. fortaleza. server.key es el nombre del archivo clave. Para generar dicha clave, se requiere una contraseña de al menos cuatro dígitos. Se puede generar una clave sin contraseña mediante:
opensslrsa -in server.key -out server.key
server.key es la versión sin contraseña.
2. Generar CA crt
opensslreq -new -x509 -key server.key -out ca.crt -days3650
El archivo ca.crt generado utiliza Firme el archivo server.csr a continuación.
Método de generación 3.csr
opensslreq -new -key server.key -out server.csr
Debe ingresar el país, región, organización y correo electrónico en secuencia de correo. ¿Lo más importante? Tener un nombre común, que puede ser tu nombre o un nombre de dominio. Si solicita https, debe coincidir con el nombre de dominio; de lo contrario, se activará una alerta del navegador. El archivo csr generado será firmado por la CA para formar el propio certificado del servidor.
Método de generación 4.crt
El archivo CSR debe estar firmado por una CA para formar un certificado. El archivo se puede enviar a Verisign y otros lugares para su verificación. mucho dinero. ¿Por qué? No hagas CA tú mismo.
opensslx509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key-CAcreateserial -out server.crt
Ingrese la clave de la clave y están listos. Se genera el certificado. La opción -CA especifica el certificado csr que se firmará, la opción -CAkey especifica la clave utilizada para firmar, -CAserial especifica el archivo de número de serie y -CAcreateserial especifica el archivo que se generará automáticamente si no existe.
Finalmente se generará la clave privada: server.key y el certificado SSL autocertificado: server.crt
Certificados fusionados:
catserver.key servidor.crt > servidor.pem