Как преобразовать закрытый ключ в закрытый ключ RSA?
позвольте мне объяснить мой вопрос. Я купил сертификат от CA и использовал следующий формат для создания csr и закрытого ключа:
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
когда я открываю сервер.ключевой файл, я вижу, что он начинается с " - - - - - Начать закрытый ключ - - - - -"
Я использую сертификат SSL на моем сервере, и все выглядит нормально.
теперь я хочу загрузить тот же сертификат в AWS IAM, чтобы я мог использовать его для балансировки нагрузки beanstalk. Я использую следующую команду из этого aws doc http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth
iam-servercertupload -b public_key_certificate_file -k privatekey.pem -s certificate_object_name
Я изменяю имена файлов сертификатов по мере необходимости, но продолжаю получать эту ошибку: "400 MalformedCertificate недопустимый закрытый ключ."
интересно то, что на странице aws doc образец закрытого ключа, который они показывают, начинается с " - - - - - - - начните закрытый ключ RSA--------"
есть ли способ преобразовать мой закрытый ключ в закрытый ключ RSA с помощью в OpenSSL?
2 ответа:
более новые версии OpenSSL говорят BEGIN PRIVATE KEY, потому что они содержат закрытый ключ + OID, который идентифицирует тип ключа (это известно как формат PKCS8). Чтобы получить ключ старого стиля (известный как PKCS1 или традиционный формат OpenSSL), вы можете сделать это:
openssl rsa -in server.key -out server_new.key
альтернативно, если у вас есть ключ PKCS1 и вы хотите PKCS8:
openssl pkcs8 -topk8 -nocrypt -in privkey.pem
Это может быть некоторой помощью (не буквально выписывать обратные косые черты ' \ ' в командах, они предназначены для указания, что "все должно быть на одной строке"):
Кажется, что все команды (в сером) принимают любой тип ключевого файла (в Зеленом) в качестве аргумента "in". И это хорошо.
вот команды снова для облегчения копирования вставки:
openssl rsa -in $FF -out $TF openssl rsa -aes256 -in $FF -out $TF openssl pkcs8 -topk8 -nocrypt -in $FF -out $TF openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA256 -in $FF -out $TF
и
openssl rsa -check -in $FF openssl rsa -text -in $FF