Ich versuche, die aws-sdk-ruby
zu verwenden, um Zertifikate in ACM zu importieren. Wenn ich jedoch versuche, Aws::ACM::Client#import_certificate
mit einer der folgenden Methoden zu verwenden, sagt der Stack-Trace, dass mein privater Schlüssel nicht 1024 oder 2048 ist. Wenn dies der Fall wäre, hätte Entrust mein Zertifikat nicht signiert. Ich sagte auch die openssl
Programm als Nachricht 2048.aws-sdk-ruby Aws :: ACM :: Client # import_certificate Dateipfade oder Inhalte von Dateien
Der Fehler
Der private Schlüssel wird nicht unterstützt, zu erzeugen. Nur RSA 1024-Bit- und 2048-Bit-private Schlüssel sind zulässig.
erstes Codebeispiel
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'
})
Der erste Methode Aufruf sagt mein Schlüssel nicht 2048bit ist. Dann auch die zweite Methode:
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)'
})
Gleicher Fehler wie oben. Die Dokumentation ist mir nicht ganz klar darüber, was sie erwartet. Es sagt Daten, und ich dachte, das war der Inhalt der Zertifikatsdatei. Hat jemand anderes dieses Problem schon einmal gehabt?
Ich war in der Lage, den Schlüssel, das Zertifikat und die Kette zu ACM mit der aws
Python CLI, die sie unter Verwendung file://
bereitstellen.
konnte ich den Schlüssel laden, Zertifikat und ketten zu ACM unter Verwendung der aws Python CLI, die der y stelle mit file: // zur Verfügung. – Pred