J'ai acheté un certificat SSL auprès de GoDaddy. J'ai créé un fichier de clés, généré un fichier csr, envoyé à godaddy et reçu ces fichiers:
J'essaie maintenant de créer un équilibreur de charge Elastic dans la console AWS. Lorsqu'on leur demande les détails d'un certificat, ils demandent:
Comment convertir les fichiers que j'ai sous ces paramètres?
Pour AWS ELB, vous avez besoin de trois choses comme vous l'avez dit
Clé privée
La clé RSA que vous avez générée sur Linux avec
#openssl genrsa -des3 -out Host.key 2048
il vous demandera un mot de passe, donnez-le pour l'instant, nous le retirerons plus tard.
Clé publique
à partir de votre clé privée, vous générez tout d’abord le fichier csr qui est une demande de signature de certificat (celui que vous soumettez à l’autorité de votre dossier qui obtient une clé publique). vous pouvez générer un fichier csr en utilisant
#openssl req -new -key Host.key -out Host.csr
maintenant, vous soumettez votre fichier csr à godaddy et en retour, ils vous fournissent deux fichiers (mydomain.crt, Gd_bundle.crt). mydomain.crt est votre clé publique.
Chaîne de certificats
Gd_bundle.crt est un fichier de chaîne de certification que godaddy vous fournit avec votre clé publique. Votre fichier de clé publique et de chaîne de certification ne nécessite aucune conversion. Pour le fichier de clé privée, vous devez supprimer son mot de passe et le convertir en pem avec
#openssl rsa -in Host.key -out private.pem
et il est bon d'aller chercher le contenu du fichier AWS.put private key.pem dans la section aws private key et de placer le contenu du fichier mydomain.crt dans la clé publique, puis le contenu Gd_bundle.crt dans la section chaîne de certification. La conversion dépend de l'endroit où vous obtenez votre certificat. Si vous obtenez un certificat d'une autre société, je vous recommanderai de suivre AWS Docs.
http://docs.aws.Amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html
J'ai récemment dû suivre ce processus et aucune des réponses ne fonctionnait pour moi. Voici les étapes qui m'ont permis de télécharger un nouveau certificat SSL sur AWS (pour une utilisation ultérieure dans ElasticBeanstalk).
Obtention de la clé privée
J'ai dû utiliser deux commandes pour ce processus:
openssl genrsa -des3 -out server.pass.key 2048
openssl rsa -in server.pass.key -out server.key
Le fichier server.key
est votre clé privée.
De plus, vous pouvez générer la CSR (Certificate Signing Request) en procédant comme suit:
openssl req -nodes -new -key server.key -out server.csr
Ceci est le fichier que nous utiliserons pour demander à GoDaddy d’émettre notre nouveau certificat.
Obtention de la clé publique
Une fois que le certificat a été émis dans GoDaddy, téléchargez-le. Cela vous donnera deux fichiers qui doivent être regroupés en un en faisant:
cat yourdomain.crt Gd_bundle-g2-g1.crt > combined.crt
Le combined.crt
serait votre clé publique.
Téléchargement du certificat de serveur vers AWS
Avec les fichiers server.key
et combined.crt
, vous pouvez maintenant télécharger le certificat sur AWS à l'aide de AWS CLI . Vous devez juste utiliser la commande suivante:
aws iam upload-server-certificate --server-certificate-name your_certificate_name --certificate-body file://combined.crt --private-key file://server.key
Si tout s'est bien passé, vous recevrez une réponse du serveur:
{
"ServerCertificateMetadata": {
"ServerCertificateId": "ABCDEFG12345678",
"ServerCertificateName": "certificate-name",
"Expiration": "2018-08-26T11:59:38Z",
"Path": "/",
"Arn": "arn:aws:iam::1234123412:server-certificate/certificate-name",
"UploadDate": "2017-08-26T19:53:46.989Z"
}
}
Et c’est tout, vous devez disposer d’un nouveau certificat SSL dans AWS.
Il y a presque deux ans exactement, mais j'ai traversé cela et cela m'a laissé perplexe une seconde.
Le Le corps du certificat * est la clé principale du fichier Zip. Le mien ressemble à ceci f7dsdfsdf2f4e942d.crt
et n'a qu'une entrée.
Le champ intermédiaire Clé privée de certificat * est la clé privée ssh qui a signé votre csr. Il réside sur le serveur que vous utilisez pour créer votre demande csr. J'ai trouvé l'emplacement de la mienne en consultant le fichier de configuration nginx et en le copiant sur mon disque local.
Le dernier champ Chaîne de certificats est le fichier avec 3 entrées, le mien ressemble à Gd_bundle-g2-g1.crt
.
Voici un guide sur la procédure d'obtention d'un certificat Godaddy ssl sur Amazon Elastic Load Balancer (ELB) http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem -encoded-csr/#. UKFla2nGU_8
Si vous utilisez un serveur Windows IIS:
Clé privée
-----BEGIN PRIVATE KEY-----
à -----END PRIVATE KEY-----
uniquement. -----BEGIN PRIVATE KEY-----
et pas les lignes ci-dessous -----END PRIVATE KEY-----
Clé publique
Chaîne de certificats
Vous voulez convertir mydomain.crt en mydomain.pem (les deux autres fichiers sont des fichiers de chaîne de confiance). Vous pouvez utiliser openssl sur n’importe quel système unix ou linux pour générer un fichier pem à partir d’un fichier CRT.
Étant donné que l'émetteur du certificat possède la clé privée, la seule raison pour laquelle il devrait vous en demander une, c'est s'il tente de générer un certificat. Si vous avez déjà un certificat, utilisez-le. Vérifiez la documentation