сертификаты с инструментами SDK (makecert, pvk2pfx)

#certificate #pfx #makecert

#сертификат #pfx #makecert

Вопрос:

Мне нужно создать два сертификата: сертификат CA sert и сертификат сервера.

Я использую эти команды.

 makecert -r -pe -n "CN=CACert" -a sha1 -sky signature -cy authority -sv CACert.pvk CACert.cer

certutil -addstore Root TGCA.cer

makecert -pe -n "CN=ServerCert" -a sha1 -sky exchange -ic CACert.cer -iv CACert.pvk -sv ServerCert.pvk ServerCert.cer

pvk2pfx -pvk ServerCert.pvk -spc ServerCert.cer -pfx ServerCert.pfx
  

Затем я импортирую файл ServerCert.pfx в хранилище сертификатов.

Почему они не содержат закрытого ключа в хранилище?

Ответ №1:

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

Попробуйте этот способ

 pvk2pfx -pvk ServerCert.pvk -spc ServerCert.cer -pfx ServerCert.pfx -pi password
  

Как сказано в документации:

/pi pvkpassword Задает пароль для файла .pvk.

Источник: http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672 (v =против85).aspx

Комментарии:

1. Для удобства пользователей инструмент pvk2pfx представляет собой что-то вроде C:Program Файлы (x86) Windows Kits8.1 binx86

Ответ №2:

Итак, после долгих танцев с бубном я нашел решение. Проблема была в пользовательском интерфейсе. Моей целью было импортировать pfx в хранилище localmachine. Это невозможно сделать, запустив файл pxf из папки.

Когда pxf импортирует без прохождения pvk, внутренний закрытый ключ не импортируется. Пароль не запрашивается при импорте в хранилище localmachine с помощью MMC.

Что я сделал:

  1. Импортируйте pxf-файл из проводника в «Мою» папку текущего пользователя (введя пароль pvk).
  2. Экспортируйте сертификат из хранилища в новый pxf с паролем.
  3. Импортируйте новый pxf-файл в локальное машинное хранилище «My» с помощью MMC.

Я не знаю других способов.