AWS: невозможно проанализировать сертификат. Убедитесь, что сертификат имеет формат PEM.

Я пытаюсь обновить подстановочный сертификат для экземпляров EC2 на AWS. Служба, к которой принадлежат эти серверы, состоит из одного сервера и набора серверов за AWS ELB.

Сертификат успешно обновлен и проверен на единственном сервере.

То же самое верно и для экземпляра, извлеченного из изображения, которое ELB использует для AutoScaling.

Однако при попытке добавить новый сертификат в балансировщик нагрузки я получаю указанную выше ошибку. Я уверен, что сертификат правильный и в формате PEM. Сначала я попробовал через веб-консоль, а затем использовал инструменты командной строки aws aim с тем же результатом.

Кто-нибудь недавно сталкивался с подобной проблемой?


person marekful    schedule 03.03.2014    source источник


Ответы (3)


Просто столкнулся с той же самой проблемой: веб-консоль и интерфейс командной строки AWS сообщают об одной и той же ошибке, связанной с невозможностью синтаксического анализа сертификата.

Основная причина ошибки оказалась в закрытом ключе - преобразование моего закрытого ключа в «RSA PRIVATE KEY» устранило проблему:

openssl rsa -in server.key -out server.key.rsa

Затем используйте server.key.rsa в поле закрытого ключа и оставьте открытый сертификат как есть.

person Vikrum    schedule 04.03.2014
comment
Оказалось, что здесь такая же проблема. Их сообщение об ошибке, так сказать, не слишком информативно. На самом деле это чушь собачья. Ключ действителен, поэтому его можно проанализировать, и он находится в требуемом формате (PEM). Но он был создан с помощью алгоритма, который они не принимают. - person marekful; 04.03.2014
comment
я получаю WARNING: can't open config file: /etc/pki/tls/openssl.cnf - person t q; 24.03.2014
comment
Это не решило для меня, выходной файл точно такой же - person Tebam; 18.11.2014
comment
Это просто дает мне ошибку: 140186932995736:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:701:Expecting: ANY PRIVATE KEY - person Cerin; 27.03.2019

Интерфейс командной строки AWS требует префикса file:// для локальных файлов. Например file://private.key, file://cert_file и т. Д.

person magicgod    schedule 23.04.2014
comment
Не хотите ли там подробно рассказать? - person David van Dugteren; 27.04.2014
comment
Звучит странно, но у меня это предложение сработало. Первоначально получалось точное сообщение об ошибке в качестве заголовка этого вопроса, но добавление file:// к каждому имени файла сделало загрузку безупречной. Использовал установщик Windows x64 MSI AWS CLI и использовал cmd для выполнения. Замените X именем своего сертификата. aws iam upload-server-certificate --server-certificate-name X --certificate-body file://cert.crt --private-key file://key.key --certificate-chain file://chain.crt --path /cloudfront/X/ - person Patrick Seymour; 30.04.2014
comment
Та же проблема в Linux, исправленная с префиксом файла. Глупо, что я не читаю официальную документацию, а скорее читаю чудесно вводящую в заблуждение запись в блоге. - person Joseph Lust; 18.06.2014
comment
Спасибо, я был совершенно безумным, пока не нашел ваш ответ. - person svintus; 25.09.2014
comment
Для каждого пользователя Mac. Префикс file: // действительно следует использовать перед именем файла сертификата. Я почему-то подумал, что это обязательно только для Windows. - person Tudor Ravoiu; 21.01.2018

Я только что провел последний час, борясь с этой проблемой на веб-консоли. В целях документирования я хотел бы поделиться тем, что устранило проблему для меня:

  1. Убедитесь, что все ключи и сертификаты находятся в RSA (как показано в ответе Викрама)
  2. Убедитесь, что начальная и конечная метки ---- TEXT HERE ---- включены в то, что вы загружаете / копируете и вставляете в веб-консоль.
  3. Моя проблема заключалась в следующем: сертификаты RapidSSL, которые я приобрел на Name.com, при копировании в Evernote приводили к преобразованию символов новой строки в пробелы. Я понял это только тогда, когда ввел текст в Vim, и моноширинный текст не был выровнен должным образом. После серии f, [space], a, [return] я исправил файл в Vi, и теперь, похоже, он работает. Интерфейс AWS должен быть достаточно умным, чтобы исправлять такие распространенные ошибки, как эта, тем не менее, это устранило проблему для меня.

Надеюсь, это поможет сэкономить час кому-нибудь еще :)

person Angad    schedule 30.09.2015