Comment installer des certificats intermédiaires (dans AWS)?

22

J'ai installé la clé privée (codée pem) et le certificat de clé publique (codé pem) sur Amazon Load Balancer. Cependant, lorsque je vérifie SSL avec l' outil de test de site , j'obtiens l'erreur suivante:

Erreur lors de la vérification du certificat SSL !! Impossible d'obtenir l'émetteur local du certificat. L'émetteur d'un certificat recherché localement est introuvable. Normalement, cela indique que tous les certificats intermédiaires ne sont pas installés sur le serveur.

J'ai converti le fichier crt en pem en utilisant ces commandes de ce tutoriel :

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

Lors de la configuration d'Amazon Load Balancer, la seule option que j'ai laissée de côté était la chaîne de certificats. (codé pem) Cependant, c'était facultatif. Serait-ce la cause de mon problème? Et si oui; Comment créer une chaîne de certificats?

MISE À JOUR

Si vous faites une demande à VeriSign, ils vous fourniront une chaîne de certificats. Cette chaîne comprend le crt public, le crt intermédiaire et le crt racine. Assurez-vous de supprimer le crt public de votre chaîne de certificats (qui est le plus haut certificat) avant de l'ajouter à votre boîte de chaîne de certification de votre Amazon Load Balancer.

Si vous effectuez des demandes HTTPS à partir d'une application Android, les instructions ci-dessus peuvent ne pas fonctionner pour les anciens systèmes d'exploitation Android tels que 2.1 et 2.2. Pour le faire fonctionner sur un ancien système d'exploitation Android:

  • va ici
  • cliquez sur l'onglet "retail ssl" puis sur "site sécurisé"> "CA Bundle for Apache Server"
  • copier et coller ces certificats intermédiaires dans la boîte de chaîne de certificats. au cas où vous ne l'auriez pas trouvé voici le lien direct .

Si vous utilisez des certificats de confiance géographique, la solution est à peu près la même pour les appareils Android, cependant, vous devez copier et coller leurs certificats intermédiaires pour Android.

getmizanur
la source
Certificat intermédiaire == Certificat de chaîne
Chris S
merci @chris, pouvez-vous me dire comment créer un certificat de chaîne. J'ai essayé de googler mais je ne sais vraiment pas comment créer ce certificat de chaîne. toute suggestion ou lien vers le didacticiel est très apprécié
getmizanur
@getmizanur D'où vient ce certificat? Le fournisseur CA devrait être en mesure de vous fournir la chaîne codée PEM.
Shane Madden

Réponses:

21

concaténer les fichiers fournis manuellement, dans l'ordre suivant:

  • site.com.crt
  • intermediaire.crt (un ou plusieurs, l'ordre de ceux-ci n'a pas d'importance)
  • ROOT.crt

vous pouvez le faire à partir d'un shell avec la catcommande

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

ou copiez / collez-les, aucun espace entre les deux, assurez-vous que les certificats sont sur des lignes différentes

-----BEGIN CERTIFICATE-----
site cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
Eric Fortis
la source
merci @eric, je n'ai que deux fichiers signés .crt et .key. pouvez-vous me dire comment obtenir des fichiers crt intermédiaires et root?
getmizanur
3
concaténer le certificat de site avec ces intermédiaires, sans certificat racine.
Eric Fortis
@EricFortis Si l'équilibreur de charge AWS veut un fichier de certificat et un fichier de chaîne séparés, il peut simplement vouloir les intermédiaires et la racine, sans le certificat sujet - pas sûr!
Shane Madden
7

J'ai eu des problèmes avec mon certificat rapid-ssl; selon

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

Je pourrais le réparer en inversant les certificats dans le bundle CA:

Problème

Lors de l'installation d'un certificat SSL dans Amazon Web Service (AWS) - appareil Amazon EC2, vous pouvez recevoir le message d'erreur suivant.

Erreur: certificat de clé publique non valide. Cause Ce problème peut se produire sur Amazon Web Service (AWS) - appareil Amazon EC2 lorsque l'une des conditions suivantes est remplie.

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

Résolution

Pour résoudre l'erreur d'installation du certificat RapidSSL à l'aide d'Amazon Web Service (AWS) - appareil Amazon EC2, procédez comme suit.

Étape 1: Télécharger le certificat de bundle CA intermédiaire

Pour télécharger le certificat de bundle CA intermédiaire, reportez-vous à l'article AR1548

Lorsque vous visualisez le bundle CA, vous verrez deux certificats empilés les uns sur les autres. Ces deux certificats devront être échangés. Le certificat supérieur doit être placé en bas et le certificat inférieur doit être placé en haut.

...

notalifeform
la source
inverser les certificats dans mon fichier ca-bunle fonctionnait comme un charme. Merci!
Mehmet Fatih Yıldız
Cette. Ceci est la bonne réponse. Tu m'as tellement aidé.
Andrey
5

J'ai dû passer par le même problème. Juste en téléchargeant un fichier pem avec ce qui suit semble résoudre le problème. Il n'a pas aimé le site cert au sommet

-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
STHAL
la source
2
Votre réponse n'est pas très claire mais ressemble beaucoup à celle déjà donnée et acceptée. Est-ce vraiment une autre réponse à la question?
Tonin
cette réponse a fonctionné pour moi. J'ai suivi la réponse acceptée en incluant le site cert mais cela n'a pas fonctionné. Le simple fait de mettre le certificat intermédiaire et le certificat racine comme mentionné dans cette réponse a très bien fonctionné!
user1258600
4

Pour les certificats émis par 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
la source
0

Moi aussi, j'ai acheté un certificat RapidSSL et j'ai eu du mal avec l'erreur "Certificat de clé publique non valide". J'ai essayé tout ce qui est répertorié ici, y compris inverser les certificats de chaîne, les supprimer, les ajouter au certificat du serveur principal, etc.

En fin de compte, je n'ai tout simplement pas pu faire disparaître l'erreur. J'ai donc trouvé une autre façon de télécharger un certificat sur Amazon pour l'utiliser avec l'équilibreur de charge (Elastic Beanstalk): il existe en fait une interface graphique qui permet de télécharger des certificats!

Il se trouve dans EC2 -> Load Balancers -> Sélectionnez votre équilibreur de charge -> Listnerers (onglet) -> Sélectionnez HTTPS dans le menu déroulant -> Cliquez sur Sélectionner sous l'onglet Certificat SSL et un formulaire apparaît qui vous permet de télécharger votre certificat!

GUI

Une fois que j'ai collé les fichiers là-dedans, cela a fonctionné comme un charme!

Elad Nava
la source
Assurez-vous également que vous essayez de télécharger une "clé privée RSA". stackoverflow.com/questions/17733536/…
Elad Nava