Nie można przesłać certyfikatu do AWS

28

Robię:

aws iam upload-server-certificate --server-certificate-name MysiteCertificate --certificate-body Downloads/mysite/mysite.crt --private-key mysite.pem --certificate-chain Downloads/mysite/COMODOSSLCA.crt

Pojawia się błąd: A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.

Jest to jednak poprawny pemplik = (

Shamoon
źródło
Sprawdź, czy przesłany certyfikat jest poprawny (łamanie linii?): wget Downloads/mysite/mysite.crt -O webcert.crtA następnieopenssl x509 -in webcert.crt -text -noout
LinuxDevOps
Tak, wygląda dobrze.
Shamoon
2
spróbuj dodać file://przed nazwami plików
LinuxDevOps
Ułóż tę odpowiedź, abym mogła głosować na nią =)
Shamoon
jasne, cieszę się, że mogłem pomóc!
LinuxDevOps

Odpowiedzi:

54

Dodaj file://przed nazwami plików.

LinuxDevOps
źródło
6
Tak było dla mnie. Co za strasznie nieprzydatny błąd, aby rzucić CLI AWS!
Leland Richardson,
3
Poważnie najmniej pomocny komunikat o błędzie, jaki widziałem od jakiegoś czasu.
markthethomas
Pracował również dla mnie.
Petter Kjelkenes,
8

Widziałem to, gdy klucz nie był w formacie RSA. Jeśli zaznaczysz nagłówek swojego klucza i jest on -----BEGIN PRIVATE KEY-----zamiast -----BEGIN RSA PRIVATE KEY-----tego, prawdopodobnie jest to twój problem. Możesz uzyskać klucz do RSA za pomocą:

 openssl rsa -in my-private-key.pem > private-rsa-key.pem
Jeremy Logan
źródło
to jedyne miejsce, w którym mogłem znaleźć tę odpowiedź. dzięki!
Nuriel
Mam go na początku i na pewno -----BEGIN RSA PRIVATE KEY-----został wypisany jako .pema RSA, ale wciąż zwraca ten sam błąd. Wygenerowałem klucz za pomocą openssl genrsa -des3 -out server.pass.key 2048iopenssl rsa -in server.pass.key -out server.key
Trip