Permettez-moi d'abord d'expliquer ma question. J'ai acheté un certificat auprès d'une autorité de certification et utilisé le format suivant pour générer le csr et la clé privée:
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Lorsque j'ouvre le fichier server.key, je vois qu'il commence par "----- BEGIN PRIVATE KEY -----"
J'utilise le certificat SSL sur mon serveur et tout semble bien.
Maintenant, je souhaite télécharger le même certificat sur AWS IAM afin de pouvoir l'utiliser pour par l'équilibreur de charge beanstalk. J'utilise la commande suivante de ce document aws http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth
iam-servercertupload -b public_key_certificate_file -k privatekey.pem -s certificate_object_name
Je change les noms de fichier de certificat selon les besoins mais continue à recevoir cette erreur: «400 MalformedCertificate Invalid Private Key».
La chose intéressante est que, sur la page doc aws, l'exemple de clé privée qu'ils montrent commence par "------- Begin RSA Private Key --------"
Existe-t-il un moyen de convertir ma clé privée en clé privée RSA en utilisant openssl?
la source
Invalid PEM structure, '-----BEGIN...' missing.
d'outils tels que Cyberduck alors que le SSH pur avec la même clé fonctionne.A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.
et exécutais ceci sur ma clé privée l'a corrigé!Private Key
d'unRSA Private Key
?openssl pkcs8 -topk8 -nocrypt -in privkey.pem
écrira un PKCS8 à STDOUTCela peut être utile (n'écrivez pas littéralement les barres obliques inverses '\' dans les commandes, elles sont destinées à indiquer que "tout doit être sur une seule ligne"):
Il semble que toutes les commandes (en gris) prennent n'importe quel type de fichier clé (en vert) comme argument "in". Ce qui est bien.
Voici à nouveau les commandes pour faciliter le copier-coller:
et
la source
Pour convertir «BEGIN OPENSSH PRIVATE KEY» en «BEGIN RSA PRIVATE KEY»
la source