Не удалось связать SSL-сертификат с Amazon Cloudfront

Я пытаюсь связать собственный SSL-сертификат с Cloudfront. Я загрузил его в IAM с помощью cert, privatekey и chain. Я дал ему путь загрузки /cloudfront.

Я также запросил и получил разрешение от AWS использовать пользовательский SSL с Cloudfront.

Однако, когда я нахожусь в консоли облачного интерфейса и пытаюсь связать сертификат, я получаю следующую ошибку, когда я нажимаю кнопку "Да, Изменить".

"Указанный сертификат просмотра не существует или недействителен." (проверьте прикрепленное изображение)

image

Я приобрел сертификат подстановки из DNSimple и выполнил следующие инструкции (https://devcenter.heroku.com/articles/ssl-certificate-dnsimple)

Есть ли идеи, как идти вперед? Возможно, я сделал свой сертификат неправильно, но я не знаю, как отладить это. Возможно ли, что я правильно сделал свой сертификат, и что-то не так с моей конфигурацией aws или Cloudfront?

Спасибо!

Ответ 1

Итак, я понял проблему!

DNSimple по умолчанию делает вас 2432-битным ключом, который больше максимального размера 2048 бит, что позволяет Amazon. Если вы хотите проверить размер своего ключа и сертификата, выполните следующие действия:

Закрытый ключ:

openssl rsa -in private.key -text -noout

Пример: Private-Key: (2048 бит)

Cert:

openssl x509 -in public.cert -text -noout

Пример вывода: Открытый ключ: (2048 бит)

Вывод каждой команды покажет вам, сколько бит это. Если вы купили сертификат SSL из DNSimple, вы можете сообщить об этом, и они могут повторно авторизовать ваш сертификат/ключ другого размера.

После этого необходимо связать ваш сертификат с вашим распределением Cloudfront.

Ответ 2

Также получил эту ошибку и потратил больше времени, чем мне хотелось бы попытаться понять, почему она терпит неудачу (размер ключа более 2048, цепочка сертификатов и т.д.).

Я пытался использовать сертификат IAM при создании дистрибутива через Terraform (указав iam_certificate_id). Просмотрев веб-интерфейс AWS для создания дистрибутива, нет возможности ввести идентификатор IAM cert, и он, по-видимому, разрешает только сертификаты ACM. Поддерживается ли теперь поддержка сертификатов IAM (кажется, не доступна на консоли AWS)?

При использовании сертификата ACM вместо сертификата IAM он отлично работал у меня.