Подтвердить что ты не робот

Как сохранить открытый ключ из сертификата в формате .pem

Я использую приведенную ниже команду openssl для хранения моего открытого ключа в файле .pem.

openssl> x509 -in E:/mycert.pem -pubkey  -out E:/mypubkey.pem

Но когда я пытаюсь использовать эту команду, она хранит всю информацию сертификата в файле mypubkey.pem.

Я видел, что я могу сохранить свой открытый ключ, используя

openssl> x509 -pubkey -noout -in cert.pem > pubkey.pem

Но это ошибка. Я не могу использовать оператор " > ".

4b9b3361

Ответ 1

Есть несколько способов сделать это.

Во-первых, вместо перехода в режим командной строки openssl просто введите все в одной командной строке из приглашения Windows:

E:\> openssl x509 -pubkey -noout -in cert.pem  > pubkey.pem

Если по какой-то причине вам нужно использовать командную строку openssl, просто введите все до " > ". Затем OpenSSL распечатает информацию об открытых ключах на экране. Затем вы можете скопировать это и вставить его в файл pubkey.pem.

openssl> x509 -pubkey -noout -in cert.pem

Результат будет выглядеть примерно так:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO
3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX
7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS
j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd
OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ
5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl
FQIDAQAB
-----END PUBLIC KEY-----

Ответ 2

Вы не можете использовать > в интерактивном приглашении Openssl. Вместо этого используйте аргумент -out для записи вывода в файл. Например.

openssl> x509 -pubkey -noout -in cert.pem -out pubkey.pem

Ответ 3

если это ключ RSA

openssl rsa  -pubout -in my_rsa_key.pem

если вам это нужно в формате для openssh, см. Использовать закрытый ключ RSA для генерации открытого ключа?

Обратите внимание, что открытый ключ генерируется из закрытого ключа, а ssh использует файл идентификатора (файл секретного ключа) для генерации и отправки открытого ключа на сервер и без шифрования зашифрованного токена с сервера через закрытый ключ в файле идентификации.