aws iam upload-server-certificate MalformedCertificate Невозможно проанализировать сертификат. OS X

Я продолжаю получать эту ошибку и никаких подробностей.

Во-первых, я проверил, что ключ соответствует crt, который я использую с командами:

$ openssl x509 -noout -modulus -in server.crt | openssl md5
$ openssl rsa -noout -modulus -in server.key | openssl md5

здесь

Я использую команду:

aws iam upload-server-certificate --server-certificate-name server --certificate-body /path/to/cert.crtt --private-key /path/to/key.key  --certificate-chain /path/to/bundle.ca-bundle --path /cloudfront/production/

Я сгенерировал свой csr и ключ с помощью команды, которую нашел здесь

openssl genrsa -out ~/domain.com.ssl/domain.com.key 2048

Затем весь процесс снова командой

openssl req -new -key private-key.pem 2048 -out csr.pem

Постоянно получаю одно и то же сообщение об ошибке

A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.

Этот вопрос: Сертификат AWS CloudFront SSL — ошибка MalformedCertificate говорит, что мне нужен файл: // в качестве префикса к каталогам, но я на osx. (хотя я все равно пробовал)

Я также пытался изменить расширения файлов на .pem.

У кого-нибудь есть идеи?


person Dan Baker    schedule 06.01.2016    source источник
comment
Stack Overflow — это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. раздел О каких темах я могу задать здесь в Справочном центре. Возможно, Суперпользователь или Apple Stack Exchange лучше спросить. См. также раздел Где размещать вопросы о Dev Ops?.   -  person jww    schedule 09.01.2016


Ответы (1)


Для начала убедитесь, что ваш файл .crt имеет формат PEM. Он должен начинаться с -----BEGIN CERTIFICATE----- и заканчиваться на -----END CERTIFICATE-----.

Если нет, вы можете сделать это, чтобы получить текст сертификата:

cat server.crt | openssl x509 > server.pem

Если файл не в формате PEM, а в формате DER, вы можете преобразовать его, используя следующее:

openssl x509 -inform DER -in server.crt -out server.pem -text
person gregwhitaker    schedule 06.01.2016
comment
Это в формате PEM ----- НАЧАТЬ СЕРТИФИКАТ----- MIIFVzCCBD+gAwIBAgIQE2Y/AcmP3pzvONEhVYJZbzANBgkqhkiG9w0BAQsFADCB ... NO7nfpEVC3+XO37oXr5xfevK0hN2eOijzroT -----КОНЕЦ СЕРТИФИКАТА----- - person Dan Baker; 07.01.2016
comment
Вы проверили, что перед новыми строками нет пробелов? Парсер Amazon PEM невероятно требователен по сравнению с OpenSSL. - person gregwhitaker; 07.01.2016
comment
Также при передаче параметров файла с протоколом file:// на них запускайте команду из того же каталога, что и файлы. Мне почему-то с этим повезло больше. - person gregwhitaker; 07.01.2016
comment
Неважно, используете ли вы Windows или нет... путь должен быть file:///Users/my-home/path/tofile - person Dan Baker; 07.01.2016