4

У меня есть закрытый ключ .pem, сгенерированный openssl. Как извлечь из него идентификатор ключа?

Изменить: сгенерированная пара ключей RSA для Amazon Cloudfront. При загрузке на консоль отображается «Key ID». Однако сгенерированный мной закрытый ключ не предназначен для моей учетной записи, и у меня нет свободного места для загрузки открытого ключа на мою учетную запись AWS (существует ограничение в 2 открытых ключа).

2 ответа2

9

Голые ключи не имеют "идентификаторов ключей". Они просто серии чисел.

Если ключ принадлежит сертификату X.509, то для идентификации будет использоваться отпечаток сертификата (хэш SHA-1 сертификата, закодированного в DER): openssl x509 -outform der | openssl sha1 или openssl x509 -noout -fingerprint .

В противном случае (если это просто открытая / открытая пара ключей), иногда используется хэш открытого ключа SHA-1 (опять же, кодировка DER), но я не знаю какого-либо стандарта для него. Вы можете извлечь открытый ключ с помощью openssl rsar -pubout -outform der , снова выполнив команду openssl sha1 если этого требует ваша программа.


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

2

Amazon теперь предоставляет инструменты для выполнения таких действий на любом сервере (не только на серверах, работающих в EC2). На любой компьютер с Ubuntu вы можете установить инструменты с помощью apt-get:

$ sudo apt-get install ec2-ami-tools ec2-api-tools

Вот синтаксис для получения отпечатка пальца для My.pem:

$ ec2-fingerprint-key My.pem
62:44:56:f7:91:f2:8b:9b:44:7c:17:0e:39:c7:34:68:f5:b2:3c:57

Поскольку ec2-fingerprint-key является немного длинным для ввода, есть эквивалентный ярлык ec2fp:

$ ec2fp My.pem
62:44:56:f7:91:f2:8b:9b:44:7c:17:0e:39:c7:34:68:f5:b2:3c:57

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .