aws-sdk-ruby Aws::ACM::Client#import_certificate Пути к файлам или их содержимое
Я пытаюсь использовать aws-sdk-ruby
импортировать сертификаты в ACM. Тем не менее, когда я пытаюсь использовать Aws::ACM::Client#import_certificate
используя любой из следующих методов, трассировка стека говорит мне, что мой закрытый ключ не 1024 или 2048. Если бы это было так, Entrust не подписал бы мой сертификат. Я также рассказал openssl
Программа для генерации как 2048.
Сообщение об ошибке
Закрытый ключ не поддерживается. Разрешены только 1024-битные и 2048-битные закрытые ключи RSA.
Первый пример кода
def acm_upload(options)
require 'aws-sdk'
@aws_region = ENV['AWS_REGION'] || ENV['AWS_DEFAULT_REGION'] || 'us-west-2'
@aws_profile = ENV['AWS_PROFILE'] || ENV['AWS_DEFAULT_PROFILE'] || 'default'
acm = Aws::ACM::Client.new(region: @aws_region, profile: @aws_profile)
begin
puts '=> Uploading Key, Cert, and Chain to ACM.'
aws_response = acm.import_certificate({
certificate: options[:cert_name],
private_key: options[:key_name],
certificate_chain: options[:chain_name],
})
rescue Aws::ACM::Errors::ServiceError => e
puts 'An AWS ACM Service Error has occured.'
raise e.message
rescue Aws::Errors::ServiceError => e
puts 'An AWS Error has occured.'
raise e.message
end
puts aws_response
end
acm_upload({
cert_name: './ssl/certificate/signed_cert.crt',
key_name: './ssl/key/private_key.pem',
chain_name: './ssl/chains/cert_chain.crt'
})
Первый вызов метода говорит, что мой ключ не 2048 бит. Тогда второй метод также делает:
acm_upload({
cert_name: File.read('./ssl/certificate/signed_cert.crt'),
key_name: File.read('./ssl/key/private_key.pem'),
chain_name: File.read('./ssl/chains/cert_chain.crt)'
})
Та же ошибка, что и выше. Документация не очень ясна для меня о том, чего она ожидает. Это говорит о данных, и я решил, что это содержимое файла сертификата. Кто-нибудь еще имел эту проблему раньше?
Я смог загрузить ключ, сертификат и цепочку в ACM, используя aws
Python CLI, который они предоставляют, используя file://
,
1 ответ
Попробуйте интерфейс командной строки AWS и посмотрите, подходит ли вам это:
aws acm import-certificate --certificate file://certificate.crt --private-key file://private_key.key --certificate-chain file://certificate_chain.crt
AWS - версия
примечание: совместимо с версией: aws-cli/1.14.18 Python/2.7.9 Windows/8 botocore/1.8.22
примечание: НЕ совместимо с версией: aws-cli/1.10.21 Python/2.7.9 Windows/8 botocore/1.4.12