Как сохранить открытый ключ из сертификата в формате .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
Но это ошибка. Я не могу использовать оператор " > ".
Ответы
Ответ 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 использует файл идентификатора (файл секретного ключа) для генерации и отправки открытого ключа на сервер и без шифрования зашифрованного токена с сервера через закрытый ключ в файле идентификации.