Формат по умолчанию Openssl pkcs8 дает закрытый ключ RSA

Я запускаю эту команду на своем ПК (версия Openssl: 1.0.1):

openssl pkcs8 -inform DER -in file.key -passin pass:12345678a -outform PEM -out key.pem

и я получил этот ключ.pem:

-----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANCFPVXwO+6qQdOs
...
wVauPfh0cGEf1Kc=
-----END PRIVATE KEY-----

но когда я запускаю ту же команду с моего сервера (версия Openssl: 0.9.8 e-fips-rhel5), я получаю этот вывод:

-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDQhT1V8DvuqkHTrMPFUUAXUl0ihDGoiD86SqK8Z3n19yp1VrJf
...
zHY0343VXnpM2opKwG2E1zgfHfbcLMFWrj34dHBhH9Sn
-----END RSA PRIVATE KEY-----

Base64 внутри differente, а также заголовки:

-----BEGIN PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----

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

Я нашел это на патче OpenSsl Примечания:

изменить формат закрытого ключа по умолчанию на PKCS#8.

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

спасибо

13
задан Logan
20.05.2023 6:30 Количество просмотров материала 3406
Распечатать страницу

1 ответ

Do openssl pkcs8 -topk8 для преобразования закрытого ключа из традиционного формата в формат pkcs#8.

формат

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

называется "форматом SSLeay" или "традиционным форматом" для закрытого ключа.

Я не уверен, в каком формате ваш ключ, поэтому я продемонстрирую идею с помощью закрытого ключа, сгенерированного genrsa. Когда вы делаете genrsa в OpenSSL 0.9.8 x, сгенерированный ключ имеет традиционный формат. То есть, после

openssl genrsa -out file.key 1024

вы получите ключ RSA в традиционном формате

-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQC3TyaSzsJO92/Ahq5rxRI1T0JSC0iF...
-----END RSA PRIVATE KEY-----

затем сделать pkcs8 С -topk8 преобразовать этот ключ из традиционного формата в формат pkcs#8.

openssl pkcs8 -topk8 -inform pem -in file.key -outform pem -nocrypt -out file.pem

вот что вы получите:

-----BEGIN PRIVATE KEY-----
MIICdQIBADANBgkqhkiG9w0BA...
-----END PRIVATE KEY-----

все вышеперечисленное выполняется с помощью OpenSSL 0.9.8 x. Это говорит вам, как генерировать ключ формата PKCS#8 от традиционного ключа формата. С другой стороны, вы всегда можете запустить это на OpenSSL 1.0.1, чтобы сделать ключ совместимым со старой версией:

openssl rsa -in file.pem -text > key.pem
21
отвечен ChiaraHsieh 2023-05-21 14:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх