Мне нужно использовать открытый ключ в формате PEM для некоторых целей, но я не могу найти команду, которая может преобразовать открытый ключ в формате DER в открытый ключ в формате PEM.
Команда, которую я использовал -
openssl rsa -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem
На самом деле команда ожидает закрытый ключ в качестве ввода. Но я получил ошибку ниже -
не удалось загрузить закрытый ключ 139901900170912: ошибка: 0D0680A8: процедуры кодирования asn1: ASN1_CHECK_TLEN: неправильный тег: tasn_dec.c: 1337: 139901900170912: ошибка: 0D08303A: подпрограммы кодирования asn1: ASNc.1_TEM_PLATENO: ошибка 13: ASNc.1_TEM_PLATE1: ASNc.1_TEM_PLATE1 ошибка: 0D0680A8: подпрограммы кодирования asn1: ASN1_CHECK_TLEN: неправильный тег: tasn_dec.c: 1337: 139901900170912: ошибка: 0D07803A: подпрограммы кодирования asn1: ASN1_ITEM_EX_D2I: вложенная ошибка asnc.1: ошибка tasn_dec.1
Мой ожидаемый результат должен быть в этом формате -
----- НАЧАТЬ ПУБЛИЧНЫЙ КЛЮЧ RSA -----
КЛЮЧЕВОЕ СОДЕРЖАНИЕ
----- КОНЕЦ ПУБЛИЧНОГО КЛЮЧА RSA -----
Кто-нибудь пробовал то же самое?
Вы должны добавить -pubin
для входов открытого ключа.
openssl rsa -pubin -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem
РЕДАКТИРОВАТЬ: для обработки PEM RSA PUBLIC KEY
формат, укажите -RSAPublicKey_in
-RSAPublicKey_out
вместо.
openssl rsa -RSAPublicKey_in -in user_id_rsa.pub -inform DER -outform PEM -out pubkey.pem -RSAPublicKey_out
Если вы хотите преобразовать открытый ключ OpenSSH в PEM RSA PUBLIC KEY
просто используйте ssh-keygen
.
ssh-keygen -f user_id_rsa.pub -e -m PEM > pubkey.pem