aws-sdk-ruby
を使用して証明書をACMにインポートしようとしています。ただし、次のいずれかの方法を使用してAws::ACM::Client#import_certificate
を使用しようとすると、スタックトレースによって私の秘密鍵が1024または2048ではないことがわかります。その場合、Entrustは証明書に署名しませんでした。私はまた、2048aws-sdk-ruby Aws :: ACM :: Client#import_certificateファイルのパスまたはファイルの内容
としてエラーメッセージ
プライベートキーがサポートされていないを生成する
openssl
プログラムを語りました。 RSA 1024ビットと2048ビットの秘密鍵のみが許可されます。
最初のコード例
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ビットではないと言います。次に、2番目の方法も同様です。
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)'
})
上記と同じエラーです。ドキュメントは、それが期待していることについて私にはあまり明確ではありません。それはデータを示し、私はそれが証明書ファイルの内容であると考えました。他の誰かがこの問題を以前に持っていましたか?
aws
Python CLIを使用して、file://
を使用して、鍵、証明書、およびチェーンをACMにアップロードできました。
私は、証明書の鍵をアップロードすることができました、aws Python CLIを使用してACMにチェーンすると、 yはfile://を使用して指定します。 – Pred