openssl pkcs12 продолжает удалять пароль PEM из записи хранилища ключей?

7804
XXL

OpenSSL 1.0.1e 11 февраля 2013

Создание самозаверяющего сертификата:

openssl req -x509 -newkey rsa: 1024 -keyout key.pem -out cert.pem -days 365

Во время процесса запрашивается пароль PEM :

Введите пароль PEM:
Проверка - введите пароль PEM:

После успешного завершения в формате PEM есть 2 результирующих файла :

key.pem, cert.pem

Закрытый ключ ( key.pem ) находится в формате PKCS # 8, и его стартовая строка гласит:

----- НАЧИНАЕТСЯ ЗАПИСАННЫЙ ЧАСТНЫЙ КЛЮЧ -----

Сейчас я пытаюсь объединить сертификат и соответствующий закрытый ключ в хранилище ключей PKCS # 12 и защитить хранилище ключей паролем . Примечание. Насколько я понимаю, это должно эффективно обеспечить запрос пароля во время доступа для чтения, а также фразу-пароль для секретного ключа соответствующей записи:

openssl pkcs12 -export -inkey key.pem -in cert.pem -out keystore.p12

После исполнения меня просят о следующем:

Введите пароль для key.pem:
введите пароль для экспорта:
проверка - введите пароль для экспорта:

Однако, насколько я понимаю, фраза-пароль должна оставаться неизменной для закрытого ключа, который сейчас хранится в файле keystore.p12 . Вот как я пытаюсь прочитать содержимое хранилища ключей:

openssl pkcs12 -nodes -info -in keystore.p12

Вывод, который я получаю (относится только к защите хранилища ключей с помощью пароля ):

Введите пароль для импорта:

И перечисляет сертификат, а также закрытый ключ, в формате PEM, не запрашивая фразу-пароль для последнего. Это в основном проблема. Ключевая фраза PEM больше не существует для закрытого ключа . Что я делаю не так или как я могу это исправить? Спасибо.

2

1 ответ на вопрос

4
nudzo

Там нет ничего плохого. Вот как работает PKCS12. PKCS12 - это формат для безопасной передачи цепочек сертификатов и личных ключей между токенами. Защита / шифрование закрытого ключа осуществляется парольной фразой, которую вы ввели при запросе «Ввести пароль для экспорта». Ничего похожего на дважды зашифрованные ключи.

РЕДАКТИРОВАТЬ: опустить -nodesвариант. Это отключает шифрование закрытого ключа.

Я почти уверен, что мне было предложено ввести ** PEM passphrae ** один раз, когда я ** - информация ** о паре **. P12 ** файлов (кажется, я не могу воспроизвести точные шаги, которые я выполнил для вызвать его, хотя, следовательно, почему я отправил) XXL 10 лет назад 0
Попробуйте то же самое с NSS certutil и pk12util ... вы получите то же поведение, что я упоминал. Если вас спросили о * PEM pass *, это было, когда вы экспортировали вещи из PKCS12 ... и хранили их в кодировке PEM. * -info * - это `дать информацию о структуре PKCS # 12`, а не экспорт. nudzo 10 лет назад 0
Я только использую ** - info **, чтобы перечислить содержимое хранилища ключей, и я заверяю вас, что меня попросили ввести ** PEM ** фразу-пароль при этом (я не сплю, поэтому я и выдавал вознаграждение за этот вопрос) - ** SafeBag ** контейнеры ** должны ** содержать пароль. XXL 10 лет назад 0
По случайному совпадению мне пришлось вчера сделать несколько обновлений сертификатов, и я понял, о чем ваши вопросы ... ответьте выше в редактировании. nudzo 10 лет назад 0
Я думаю, что вы взломали его :) У меня остался только 1 вопрос - ожидается ли, что ** JKS ** будет вести себя так же, как и в, он также не поддерживает защиту пар cert / privkey с помощью отдельного пароля? Может быть, вы столкнулись с этим в какой-то момент случайно XXL 10 лет назад 0

Похожие вопросы