Как преобразовать файл открытого ключа в формате DER в PEM форму
Мне нужно для некоторых целей использовать открытый ключ в формате 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:ASN1_TEMPLATE_NO1: 901: 0990: недопустимый код ошибки: n0: 099: 0990: 0990: недопустимый код: n0: 091: 0990: недопустимый_дисок: N0ND0: 099: N0: 0N0: 099: NEXD_N0: 099_90: NEX: N_ND: NEXD_N0: 099: N0: N0: N0: N0: N0: 0N0_099 ошибка:0D0680A8: подпрограммы кодирования asn1:ASN1_CHECK_TLEN: неправильный тег:tasn_dec.c:1337: 139901900170912: ошибка:0D07803A: подпрограммы кодирования asn1:ASN1_ITEM_EX_D2I: вложенная ошибка asn1: тип_сис_диска: = 38: код RS: tasn_dec.c: RS-38: код: tas8_: =
Мой ожидаемый результат должен быть в этом формате
----- НАЧАЛО RSA PUBLIC KEY-----
КЛЮЧЕВОЙ КОНТЕНТ
----- КОНЕЦ RSA ПУБЛИЧНЫЙ КЛЮЧ -----
Кто-нибудь пробовал то же самое?
1 ответ
Вы должны добавить -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