¿Cómo instalo certificados intermedios (en AWS)?

22

He instalado una clave privada (codificada por pem) y un certificado de clave pública (codificada por pem) en Amazon Load Balancer. Sin embargo, cuando verifico el SSL con la herramienta de prueba del sitio , aparece el siguiente error:

¡Error al verificar el Certificado SSL! No se puede obtener el emisor local del certificado. No se pudo encontrar el emisor de un certificado buscado localmente. Normalmente esto indica que no todos los certificados intermedios están instalados en el servidor.

Convertí el archivo crt a pem usando estos comandos de este tutorial :

openssl x509 -in input.crt -out input.der -outform DER
openssl x509 -in input.der -inform DER -out output.pem -outform PEM

Durante la configuración de Amazon Load Balancer, la única opción que omití fue la cadena de certificados. (codificado por pem) Sin embargo, esto era opcional. ¿Podría ser esto causa de mi problema? Y de ser así; ¿Cómo creo una cadena de certificados?

ACTUALIZAR

Si hace una solicitud a VeriSign, le darán una cadena de certificados. Esta cadena incluye crt pública, crt intermedia y raíz crt. Asegúrese de eliminar el CRT público de su cadena de certificados (que es el certificado más importante) antes de agregarlo a la caja de la cadena de certificación de su Amazon Load Balancer.

Si realiza solicitudes HTTPS desde una aplicación de Android, entonces las instrucciones anteriores pueden no funcionar para sistemas operativos Android anteriores, como 2.1 y 2.2. Para que funcione en un sistema operativo Android anterior:

  • ven aquí
  • haga clic en la pestaña "retail ssl" y luego haga clic en "sitio seguro"> "CA Bundle for Apache Server"
  • copie y pegue estos certificados intermedios en la caja de la cadena de certificados. por si acaso no lo has encontrado aquí está el enlace directo .

Si está utilizando certificados de confianza geográfica, la solución es muy similar para los dispositivos Android, sin embargo, debe copiar y pegar sus certificados intermedios para Android.

getmizanur
fuente
Certificado intermedio == Certificado de cadena
Chris S
gracias @ chris, ¿puedes decirme cómo puedo crear un certificado de cadena? He intentado buscar en Google, sin embargo, estoy realmente confundido sobre cómo crear este certificado de cadena. cualquier sugerencia o enlace al tutorial es muy apreciada
getmizanur
@getmizanur ¿De dónde es este certificado? El proveedor de CA debería poder proporcionarle la cadena codificada por PEM.
Shane Madden

Respuestas:

21

concatenar los archivos proporcionados manualmente, en el siguiente orden:

  • site.com.crt
  • Intermedia.crt (uno o más, el orden de estos no importa)
  • ROOT.crt

puedes hacer esto desde un shell con el catcomando

cat site.com intermediate.crt ROOT.crt > site.chain.pem

o cópielos / péguelos, sin espacios en blanco entre ellos, asegúrese de que los certificados estén en líneas diferentes

-----BEGIN CERTIFICATE-----
site cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
Eric Fortis
fuente
gracias @eric, solo tengo dos archivos firmados .crt y .key. ¿me puede decir cómo puedo obtener archivos crt intermedios y raíz?
getmizanur
3
concatene el certificado del sitio con esos intermedios, sin el certificado raíz.
Eric Fortis
@EricFortis Si el equilibrador de carga de AWS quiere un archivo de certificado y un archivo de cadena por separado, es posible que solo desee los intermedios y la raíz, sin el certificado del sujeto, ¡no estoy seguro!
Shane Madden
7

Tuve problemas con mi certificado rapid-ssl; según por

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO21856&actp=search&viewlocale=en_US&searchid=1368427636740

Podría solucionarlo invirtiendo los certificados en el paquete CA:

Problema

Al instalar un certificado SSL en Amazon Web Service (AWS) - dispositivo Amazon EC2, puede recibir el siguiente mensaje de error.

Error: Certificado de clave pública no válido. Causa Este problema puede ocurrir en Amazon Web Service (AWS): dispositivo Amazon EC2 cuando se cumple alguna de las siguientes condiciones.

RapidSSL Intermediate CA bundle certificate is not installed on Amazon Web Service (AWS) - > Amazon EC2 device
RapidSSL Intermediate CA bundle certificate is installed on Amazon Web Service (AWS) - Amazon > EC2 device but the CA bundle required needs to be installed in reversed order

Resolución

Para resolver el error al instalar el certificado RapidSSL con Amazon Web Service (AWS) - dispositivo Amazon EC2, realice los siguientes pasos.

Paso 1: descargue el certificado de CA Bundle intermedio

Para descargar el certificado de paquete intermedio de CA, consulte el artículo AR1548

Cuando vea el paquete CA, verá dos certificados apilados uno encima del otro. Estos dos certificados deberán cambiarse. El certificado superior debe colocarse en la parte inferior y el certificado inferior debe colocarse en la parte superior.

...

notalifeform
fuente
Revertir certificados en mi archivo ca-bunle funcionó a las mil maravillas. ¡Gracias!
Mehmet Fatih Yıldız
Esta. Esta es la respuesta correcta. Me ayudaste mucho.
Andrey
5

Tuve que pasar por el mismo problema. Simplemente cargando un archivo pem con lo siguiente parece resolver el problema. No le gustaba el sitio cert en la parte superior

-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
STHAL
fuente
2
Su respuesta no es muy clara, pero se parece mucho a la ya dada y aceptada. ¿Es realmente otra respuesta a la pregunta?
Tonin
Esta respuesta funcionó para mí. Seguí la respuesta aceptada incluyendo el certificado del sitio, pero eso no funcionó. ¡Simplemente al poner el certificado intermedio y el certificado raíz como se menciona en esta respuesta funcionó muy bien!
user1258600
4

Para certificados emitidos por Comodo

    Private Key: private_key.text
    Public Key Certificate: yourdomain.crt
    Certificate Chain: combine these 2
    cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > certchain.txt
    (or paste in COMODORSADomainValidationSecureServerCA.crt first followd by COMODORSAAddTrustCA.crt) 
appsmatics
fuente
0

Yo también he comprado un certificado RapidSSL y he estado luchando con el error "Certificado de clave pública no válido". Intenté todo lo que se menciona aquí, incluida la reversión de los certificados de cadena, omitiéndolos, agregándolos al certificado del servidor principal, etc.

Al final, simplemente no pude conseguir que el error desapareciera. Así que encontré otra forma de cargar un certificado en Amazon para usarlo con Load Balancer (Elastic Beanstalk): ¡en realidad hay una GUI que permite cargar certificados!

Se encuentra en EC2 -> Balanceadores de carga -> Seleccione su balanceador de carga -> Listnerers (pestaña) -> Seleccione HTTPS en el menú desplegable -> Haga clic en Seleccionar en la pestaña de certificado SSL y aparecerá un formulario que le permite cargar su certificado.

GUI

Una vez que pegué los archivos allí, ¡funcionó de maravilla!

Elad Nava
fuente
Además, asegúrese de intentar cargar una "clave privada RSA". stackoverflow.com/questions/17733536/…
Elad Nava