Изменения закрытого ключа между экспортами из файла .PFX (PKCS#12)

Я экспортирую только закрытые ключи из файла .pfx в файл .pem (.key):

Я использую команду, как показано ниже..... Я дважды выполнил команду, чтобы дважды сгенерировать закрытый ключ (он каждый раз запрашивает пароль для импорта и парольную фразу PEM) в двух разных физических файлах.

openssl pkcs12 -nocerts -in DigitalCertificateExport.pfx -out OnlyKey_SameParaPhrase_1.key openssl pkcs12 -nocerts -in DigitalCertificateExport.pfx -out OnlyKey_SameParaPhrase_2.key

Однако результирующий файл ключей каждый раз имеет другой закрытый ключ. Разве не должно быть всегда одинаково? Я ожидал, что каждый раз будет одно и то же.

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


person Guddu    schedule 04.02.2014    source источник
comment
Закрытый ключ отличается или файл? Даже если вы используете ту же фразу-пароль, файл будет другим, потому что шифрование основано на случайном ключе.   -  person Stephan B    schedule 18.02.2014
comment
Спасибо @StephanB. . . Ключ в сгенерированном файле .key каждый раз разный. Но если шифрование основано на случайном ключе, это объясняет поведение. Спасибо за ваш комментарий. Если бы вы могли опубликовать это как ответ, я приму это.   -  person Guddu    schedule 18.02.2014
comment
Это не случайный ключ, а случайная соль, по крайней мере, в ключе, который я преобразовал. См. ответ и связанный документ.   -  person Stephan B    schedule 18.02.2014
comment
Если вы используете -nodes для вывода незашифрованного закрытого ключа, он каждый раз будет одним и тем же. Но во многих случаях это позволяет злоумышленнику легко использовать ваш ключ для кражи и/или фальсификации всех ваших важных данных, что некоторые люди могут счесть нежелательным. (Да, вариант остается -nodes, несмотря на то, что в настоящее время обычно используется алгоритм шифрования 3DES/TDEA или даже что-то совершенно другое, например, AES или ARIA.)   -  person dave_thompson_085    schedule 11.09.2020


Ответы (1)


Согласно этому документу OpenSSL, по крайней мере, некоторые методы шифрования для файлов .pem используйте случайную соль. При использовании вашей команды для преобразования файла .pfx я получаю файл со следующей строкой:

-DEK-Info: DES-EDE3-CBC,6AC8DB439F2BDE03

Это содержит случайную соль, используемую для шифрования и/или проверки.

person Stephan B    schedule 18.02.2014
comment
Даже для шифрования PKCS8, в отличие от устаревшего шифрования PEM, есть случайная соль, хотя больше не в заголовке PEM, а в OpenSSL 1.0.0 (выпущен в 2010 г., но многим системам потребовалось некоторое время для внедрения) командная строка pkcs12 (import) пишет PKCS8 not legacy- ПОМ - person dave_thompson_085; 11.09.2020