Рейтинг:0

Разница в генерации ключей с помощью genpkey и genrsa

флаг cn

В чем разница в генерации ключей с помощью приведенных ниже команд?

openssl genpkey -алгоритм RSA -out key1.pem

Содержимое key1.pem:

-----НАЧАТЬ ЗАКРЫТЫЙ КЛЮЧ-----
...
-----КОНЕЦ ЗАКРЫТОГО КЛЮЧА-----

openssl genrsa -out key2.pem 

Содержимое key2.pem:

-----НАЧАТЬ ЗАКРЫТЫЙ КЛЮЧ RSA-----
...
-----КОНЕЦ ЗАКРЫТОГО КЛЮЧА RSA-----
forest avatar
флаг vn
Вы спрашиваете, чем отличается внутренняя процедура генерации ключей?
Рейтинг:3
флаг cn

В основном кроссдуп https://stackoverflow.com/questions/20065304/differences-between-begin-rsa-private-key-and-begin-private-key

В относительно недавних версиях OpenSSL нет разницы в генерации ключа по умолчанию, как вы использовали. В 1.0.0 (в 2010 г.) генрса по умолчанию 512 бит, а Генпключ по умолчанию 1024 бита и, конечно же, в 0.9.x Генпключ не существовало. Во всех версиях, в которых есть обе команды, есть различия в других параметрах, которые вы можете добавить, некоторые из которых изменяют генерацию ключа.

Выход форматы различны, но фактически содержат одну и ту же информацию и могут быть легко и без потерь преобразованы. Как и в Q, связанном выше:

  • тип ПЭМ [НАЧАЛО/КОНЕЦ] ЗАКРЫТЫЙ КЛЮЧ RSA является «традиционным» или «устаревшим» форматом OpenSSL, содержимое которого определяется PKCS1v2.0 = RFC2437, раздел 11.1.2 (перемещено в Приложение C в более поздних версиях, но версия 2.0 близка к тому, когда его использовал SSLeay, который позже стал OpenSSL).

    В PEM (но не в DER) также существует зашифрованная традиционная/PKCS1 форма, использующая ту же метку, но добавляющая строки заголовков для Proc-тип и ДЭК-инфо.

  • тип ПЭМ [НАЧАЛО/КОНЕЦ] ЗАКРЫТЫЙ КЛЮЧ определяется RFC7468, раздел 10 с содержимым, определенным PKCS8 = RFC5208, раздел 5 который был добавлен в OpenSSL примерно в 1999 г., но описывался как «новый» примерно до 2015 г. Формат PKCS8 поддерживает несколько криптографических алгоритмов (не только RSA), содержащий «AlgorithmIdentifier» (особый синтаксис ASN.1, заимствованный из X.509/PKIX=RFC5280, разделы 4.1.1.2, 4.1.2.3, 4.1.2.7 плюс завернутые данные, специфичные для алгоритма, которые для RSA представляют собой ту же структуру PKCS1, что и выше.

    Существует также зашифрованная форма PKCS8 с типом PEM. [НАЧАЛО/КОНЕЦ] ЗАШИФРОВАННЫЙ ЗАКРЫТЫЙ КЛЮЧ -- см. разделы в RFC7468 и RFC5208 сразу после ссылок выше. Эта зашифрованная форма также поддерживается в DER, но это не имеет отношения к вашему Q.

Традиционный формат можно преобразовать в незашифрованный PKCS8 с помощью

openssl pkey -in old -out new # в 1.0.0 выше 
openssl pkcs8 -topk8 -nocrypt -in old -out new # во всех версиях

и формат PKCS8 можно преобразовать в незашифрованный PKCS1 с помощью

openssl rsa -вход новый-выход старый

Существуют также преобразования в зашифрованные формы, которые генрса и Генпключ также может производить, но не делает этого по умолчанию.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.