сертификаты с инструментами SDK (makecert, pvk2pfx) - PullRequest
8 голосов
/ 24 апреля 2011

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

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

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 в хранилище сертификатов.

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

Ответы [ 2 ]

14 голосов
/ 30 мая 2013

Почему бы вам не попытаться сгенерировать файл 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=vs.85).aspx

1 голос
/ 25 апреля 2011

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

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

Что я сделал:

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

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

...