J'essaie d'installer un certificat SSL GoDaddy sur un nouvel équilibreur de charge que je configure sur Amazon AWS. J'ai initialement créé le certificat chez Godaddy en utilisant le programme keytool pour une installation directe sur un serveur Glassfish 3.1 (ami Amazon linux). Je n'ai eu aucun problème à obtenir cette configuration directement sur le serveur. Je dois maintenant déplacer le certificat du serveur Web vers le nouvel équilibreur de charge. Amazon exige que la clé privée et les certificats soient au format PEM, j'ai donc utilisé l'outil "rekey" chez GoDaddy pour créer de nouveaux certificats. Lorsque je les charge dans l'écran de configuration de l'équilibreur de charge sur AWS Mgmt Console, j'obtiens le message d'erreur: "Le certificat de clé publique et la clé privée ne correspondent pas."
Voici comment je crée les clés:
$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr
Je soumets ensuite le fichier .csr à GoDaddy pendant le processus de "rekey". Une fois le renouvellement de clé terminé, je télécharge les 2 certificats nouvellement créés (apps.mydomain.com.crt & gd_bundle.crt). Je les télécharge en sélectionnant (Apache) comme type de serveur (j'ai aussi essayé "other" et "Cpanel" mais tous semblent être les mêmes).
À ce stade, je supprime le chiffrement du fichier private.key à l'aide de la commande suivante:
$ openssl rsa -in private.key -out private.pem
À ce stade, je retourne dans la console AWS Mgmt, crée l'équilibreur de charge, ajoute la redirection du serveur sécurisé et place le contenu des fichiers suivants dans les champs respectifs de l'écran où il demande de configurer le certificat ssl:
private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain
Lorsque je clique sur le bouton "Continuer", le message d'erreur "Erreur: le certificat de clé publique et la clé privée ne correspondent pas" s'affiche.
-Est-il possible de tester que je reçois un message d'erreur valide d'Amazon? Il me semble étrange que les touches ne correspondent pas lorsque je suis de près les instructions de GoDaddy.
J'ai essayé de créer le fichier private.key sans cryptage RSA avant de créer le .csr et cela ne semble pas faire de différence.
Je suppose également que les fichiers .crt que je télécharge à partir de GoDaddy sont au format .PEM, mais je ne sais pas comment vérifier cela.
Des idées?
Réponses:
Pour moi, c'était une étape simple en deux étapes:
Convertissez la clé privée en PEM:
openssl rsa -in yourdomain.key -outform PEM
Convertissez le certificat et le bundle de certificats en PEM :
openssl x509 -inform PEM -in yourdomain.crt
openssl x509 -inform PEM -in bundle.crt
la source
WARNING: can't open config file: /etc/pki/tls/openssl.cnf
-config
option. Utilisez-le pour spécifier le chemin d'accès au fichier de configuration que vous utilisez.Juste pour mémoire et pour toute autre personne qui essaie de le comprendre:
votredomaine.key -> commande du terminal:
sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem
-> clé privéevotredomaine.crt -> clé publique
gd_bundle.crt -> chaîne de certificats
et vous êtes prêt à partir :)
la source
On dirait que le problème était la façon dont je copiais le contenu de la clé et des certificats dans la console AWS Management. J'utilisais un bureau Ubuntu fonctionnant dans Virtual Box sur un bureau Windows 7; copiez et collez les valeurs d'un écran gedit dans le navigateur s'exécutant sur la boîte Windows. Une fois que j'ai ouvert les fichiers de clé et de certificat sur la même boîte que le navigateur Web (Windows dans ce cas), les certificats se sont bien déroulés. J'imagine que certaines parties du fichier ne le font pas correctement lors de l'utilisation du presse-papiers partagé entre le client et l'hôte de Virtual Box. Affaire classée.
la source
Nous avons trouvé une solution alternative à ce problème. Nous avions les mêmes symptômes avec la même erreur.
Ensuite, nous avons essayé de saisir à nouveau les codes pem, mais cette fois, nous nous sommes assurés d'appuyer une fois sur Entrée et de nous assurer que le curseur était sur une ligne vide à la fin de chaque fenêtre. Ensuite, nous l'avons sauvé. ÇA A MARCHÉ.
Cela a résolu notre problème, donc cela pourrait le résoudre pour d'autres.
la source
Un petit gotcha. J'utilise une boîte Windows (Win 7 Pro) et lorsque j'ai utilisé le port Windows d'OpenSSL, les fichiers produits avaient des caractères de fin de ligne de style Unix (LF).
J'ai dû convertir le fichier en style Windows (CRLF) pour le téléchargement de la clé privée.
la source
Je peux vous proposer une solution alternative et une information à vous les gens. En général, tous les certificats sont au format de fichier PEM. Vous pouvez simplement ouvrir un bloc-notes ou n'importe quel éditeur de texte et faire glisser les fichiers que vous avez reçus au format de fichier .crt. Ce qui est normalement appelé fichier .PEM.Si le certificat est chargé dans votre keytool, vous pouvez exporter le certificat en tant que fichier pfx depuis keytool. Ensuite, vous pouvez séparer le fichier pfx de la clé privée du fichier pfx. Parce que le fichier pfx est la combinaison de votre certificat et de la clé privée, vous pouvez donc obtenir séparément le fichier de clé privée et l'utiliser sur votre Amazon AWS.
Je soupçonne qu'il existe un autre moyen d'installer le certificat. Vous pouvez peut-être contacter l'autorité de certification et y a-t-il un moyen de faire réémettre votre certificat?
la source