Resumen #
RELIANOID es capaz de gestionar conexiones HTTPS (Perfil HTTP), por lo que el administrador del sistema debe crear sus propios certificados (certificados autofirmados) o adquirir Certificados Firmados por una Autoridad de Certificación, en ambos casos el certificado debe estar construido en formato PEM.
El Certificado Seguro debe crearse sin contraseña y las claves y CSR deben generarse en el servidor a proteger.
Los SSL positivos están listos para funcionar en formato PEM, pero Rapid SSL debe convertirse ya que cada archivo contiene el certificado, la CA intermedia y la CA raíz separadas.
Requisitos #
Se debe instalar el paquete openssl para poder generar las claves en el servidor, en nuestro caso será el RELIANOID instancia que ya debería estar instalada.
Primero, genere la clave sin frase de contraseña.
raíz@noid-ee-01:~# openssl genrsa -out host_domain_com.key 2048
Luego, genere la Solicitud firmada de certificado (.csr) utilizando la clave generada (.key) como entrada.
raíz@noid-ee-01:~# openssl req -new -key host_domain_com.key -out host_domain_com.csr
Una vez que se entreguen el certificado y los archivos de CA intermedios, asegúrese de obtener el certificado raíz del emisor.
Todos los archivos separados deben estar en formato PEM: Certificado de servidor, Certificado intermedio y Certificado de CA raíz. Si no es así, convierta el archivo con el siguiente comando:
raíz@noid-ee-01:~# openssl x509 -in certFileName.csr -outform PEM -out convertCertFileName.pem
Finalmente tenemos la Clave Privada, el Certificado emitido, el Certificado Intermedio y el Certificado de CA Raíz. Todo el contenido de este archivo debe combinarse para crear el archivo PEM en formato UNIX.
Generar certificado SSL en formato PEM #
Para generar un certificado SSL en formato PEM, normalmente se necesita una clave privada , un certificado , un certificado de CA intermedio (si existe) y un certificado de CA raíz . A continuación, se explica cómo generar el archivo PEM:
Preparar los componentes #
clave privada: Asegúrese de tener la clave privada correspondiente al certificado.
Certificado: Obtenga el certificado emitido para su dominio o servidor.
Certificado CA intermedio: Si su certificado lo emite una CA intermedia (no directamente la CA raíz), necesitará el certificado de CA intermedia.
Certificado de CA raíz: Es posible que también necesite el certificado de CA raíz, especialmente si aún no está incluido en el almacén de confianza de las aplicaciones o dispositivos cliente.
Concatenar los componentes #
Abra un editor de texto o utilice herramientas de línea de comandos para concatenar la clave privada, el certificado, el certificado de CA intermedio (si corresponde) y el certificado de CA raíz (si es necesario) en un único archivo PEM, como se muestra a continuación.
-----COMENZAR CLAVE PRIVADA RSA----- Clave privada (sin frase de contraseña) -----TERMINAR CLAVE PRIVADA RSA----- -----COMENZAR CERTIFICADO----- Certificado (CN= www.midominio.com) -----TERMINAR CERTIFICADO----- -----INICIAR CERTIFICADO----- Intermedio (CA intermedia, si existe) -----TERMINAR CERTIFICADO----- -----INICIAR CERTIFICADO----- Raíz (CA RAÍZ, quien firma el Certificado) -----FINALIZAR CERTIFICADO-----
Consulte el ejemplo siguiente para saber cómo se verá un archivo PEM correcto.
-----BEGIN RSA PRIVATE KEY----- uiMTxBQnK9ApC5eq1mrBooECgYB4925pDrTWTbjU8bhb/7BXsjBiesBBVO43pDYL nUVxhqt4DT+4Vp5S7D9FQ+HagbhVInQXKXtT7FNFhpIxpRy512ElSuWvrELiZOwe -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- wYDVR0fBDwwOjA4oDagNIYyaHR0cDovL3JhcGlkc3NsLWNybC5n DYmhNE0IgXx6XRHiMAwGA1UdEwEB/wQCMAAwSQYIKwYBBQUHAQEEPTA7MDkGCCsG gOYD8kmKOsxLRWeZo6Tn8 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- EgYDVR0TAQH/BAgwBgEB/wIBADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3Js JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdlb3RydXN0LmNvbTANBgkqhkiG9w0B -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 -----END CERTIFICATE-----
Es obligatorio convertir el archivo PEM completo al formato UNIX. Para realizar pruebas, se dispone de un certificado denominado zencert.pem o noidcert.pem que se puede utilizar con granjas de perfiles HTTPS.
Asegúrese de que el orden de los certificados sea el siguiente:
1. Tu certificado
2. Certificado CA intermedio (si corresponde)
3. Certificado de CA raíz
Guardar archivo PEM concatenado #
Guarde el archivo PEM concatenado con una extensión .pem. Este archivo contendrá la clave privada y toda la cadena de certificados.
Utilice el archivo PEM #
Ahora puede utilizar el archivo PEM en la configuración de su servidor. Dependiendo del software de su servidor (por ejemplo, Apache, Nginx, RELIANOID), es posible que deba especificar la ruta al archivo PEM en la configuración SSL. En RELIANOID, simplemente cargue el certificado SSL usando la GUI web y asígnelo como Certificado habilitado en cualquier granja HTTPS.
Verificar configuración #
Después de configurar su servidor para usar el archivo PEM, es esencial verificar la configuración SSL/TLS para garantizar que la cadena de certificados se presente correctamente a los clientes durante el protocolo de enlace SSL. Puede utilizar varias herramientas de prueba SSL/TLS en línea o utilidades de línea de comandos como OpenSSL para verificar la configuración y asegurarse de que la cadena de certificados esté completa.
Genere un certificado SSL autofirmado en formato PEM #
Para crear un certificado SSL autofirmado en formato PEM desde el equilibrador de carga o el servidor, ejecute los siguientes pasos:
1. Genere los archivos de clave y certificado con una clave RSA de 4096 bits para 1 año y sin contraseña utilizando el siguiente comando:
raíz@noid-ee-01:~# openssl req -nodes -new -x509 -newkey rsa:4096 -keyout server.key -out server.cert -days 365 Generando una clave privada RSA ...................++++ .................... ................................................. ................................................. ...................................++++ escribiendo una nueva clave privada en 'server.key' - ---- Está a punto de que se le solicite que ingrese información que se incorporará en su solicitud de certificado. Lo que está a punto de ingresar es lo que se llama un Nombre Distinguido o DN. Hay bastantes campos, pero puede dejar algunos en blanco. Para algunos campos habrá un valor predeterminado. Si ingresa '.', el campo quedará en blanco. ----- Nombre del país (código de 2 letras) [AU]: Nombre del estado o provincia (nombre completo) [Algún estado]: Nombre de la localidad (p. ej., ciudad) []: Nombre de la organización (p. ej., empresa) [Widgits de Internet Pty Ltd]: Nombre de la unidad organizativa (p. ej., sección) []: Nombre común (p. ej., FQDN del servidor o SU nombre) []: Dirección de correo electrónico []:
Durante la ejecución de este comando, se le pedirá que ingrese información de forma interactiva. Por favor proporcione los detalles requeridos.
2. Concatene la clave y el certificado en un archivo PEM utilizando el siguiente comando:
raíz@noid-ee-01:~# cat servidor.clave servidor.cert >> servidor.pem
Este comando combina la clave y el certificado en un único archivo PEM.
3. Su certificado SSL autofirmado en formato PEM ( server.pem ) ya está listo para usarse con su proxy, servicios web o servicios de Internet.
Cómo ver el contenido de un certificado SSL #
Para ver el contenido de un certificado SSL, puede utilizar varias herramientas y comandos. Un método común es utilizar OpenSSL, una herramienta de línea de comandos versátil que admite diversas operaciones criptográficas, incluida la inspección de certificados. A continuación se explica cómo puede ver el contenido de un certificado SSL utilizando OpenSSL:
Comando OpenSSL para obtener los detalles del certificado #
Abra una terminal o una ventana de símbolo del sistema en su sistema.
Utilice el siguiente comando OpenSSL para ver el contenido del certificado SSL:
raíz@noid-ee-01:~# openssl x509 -in certificado.pem -texto -noout
Reemplace certificate.pem con la ruta a su archivo de certificado SSL.
Si su certificado está en formato PEM, este comando mostrará información detallada sobre el certificado, que incluye:
Emisor
Asunto
Período de validez (fechas de inicio y finalización)
Información de clave pública
Extensiones de certificado
Algoritmo de firma
Huellas dactilares (SHA-1, SHA-256, etc.)
Una vez que ejecute el comando, OpenSSL generará la representación textual del contenido del certificado. Revise la información que se muestra para verificar los detalles del certificado, como el emisor, el asunto, las fechas de validez y otros metadatos relevantes.
Inspeccionar certificados DER #
Si su certificado está en formato DER en lugar de PEM, puede usar la opción -inform der para especificar el formato de entrada:
raíz@noid-ee-01:~# openssl x509 -inform der -in certificado.pem -text -noout
También puede guardar el resultado en un archivo para su posterior análisis o documentación utilizando la redirección de shell (>):
raíz@noid-ee-01:~# openssl x509 -in certificado.pem -texto -noout > detalles_certificado.txt
Este comando guardará los detalles del certificado en un archivo llamado Certificate_details.txt.
Al utilizar la herramienta de línea de comandos OpenSSL, puede inspeccionar fácilmente el contenido de un certificado SSL y verificar sus detalles, lo que le ayuda a garantizar la seguridad y validez de sus conexiones SSL/TLS.
Verificación de que la CA raíz e intermedia esté presente en un certificado SSL #
Verificar si los certificados de CA raíz e intermedios están presentes en un certificado SSL implica examinar la cadena de certificados. Así es como puedes hacerlo:
Utilice OpenSSL u otra herramienta para ver los detalles del certificado SSL. Ejecute el siguiente comando:
raíz@noid-ee-01:~# openssl crl2pkcs7 -nocrl -certfile certificado.pem | openssl pkcs7 -print_certs -noout asunto=CN = midominio.com emisor=C = EE. UU., O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1
En el ejemplo anterior, solo está presente el certificado.
raíz@noid-ee-01:~# openssl crl2pkcs7 -nocrl -certfile certificado.pem | openssl pkcs7 -print_certs -noout asunto=CN = midominio.com emisor=C = EE.UU., O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1 asunto=C = EE.UU., O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1 emisor = C = EE. UU., O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
En el ejemplo anterior, están presentes tanto el certificado como el intermedio.
Reemplace certificado.pem con la ruta a su archivo de certificado SSL.
Además, utilice OpenSSL para ver la cadena de certificados presentada por el servidor SSL durante el protocolo de enlace. Ejecute el siguiente comando:
raíz@noid-ee-01:~# openssl s_client -connect midominio.com:443 -showcerts
Reemplace midominio.com con el nombre de dominio del servidor habilitado para SSL al que desea conectarse.
Busque las secciones etiquetadas Cadena de certificados o Cadena de certificados (PEER). Esto mostrará los certificados presentados por el servidor, comenzando desde el certificado de entidad final y terminando con el certificado de CA raíz.
Verifique los certificados de CA raíz e intermedios examinando cada certificado de la cadena para verificar si tanto el certificado de CA raíz como el intermedio están presentes.
Certificado CA intermedio: busque un certificado en la cadena que coincida con el emisor del certificado de entidad final pero que lo preceda.
Certificado de CA raíz: Verifique que el último certificado de la cadena sea el certificado de CA raíz.
Alternativamente, puede utilizar herramientas de validación SSL en línea que verifican automáticamente la cadena de certificados y verifican si están presentes los certificados de CA raíz e intermedios. Herramientas como SSL Server Test de SSL Labs o la herramienta de diagnóstico de instalación SSL de DigiCert pueden proporcionar información detallada sobre la cadena de certificados.
Si sigue estos pasos, puede verificar si los certificados de CA raíz e intermedios están presentes en un certificado SSL y garantizar la integridad y seguridad de sus conexiones SSL/TLS.