Где секретный ключ? - PullRequest
       12

Где секретный ключ?

1 голос
/ 18 марта 2009

Два простых вопроса о команде makecert,

Предположим, я использую следующую команду:

makecert -n "CN=PowerShell Local Certificate Root" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -sv root.pvk root.cer -ss Root -sr localMachine

Будет ли личный ключ, автоматически зарегистрированный где-то в диспетчере сертификатов, или личный ключ будет просто находиться в файле root.pvk?

Предположим, я использую следующую команду:

makecert -r -pe -n "CN=XYZ Company" -ss my

После выполнения этой команды, где хранится закрытый ключ (поскольку я не указал параметр -pe, закрытый ключ не встроен в сертификат, но где он находится)?

1 Ответ

3 голосов
/ 18 марта 2009

Даже без -pe (включить экспорт закрытого ключа) закрытый ключ все равно должен храниться в указанном вами хранилище сертификатов. В вашем примере этим хранилищем является физическое хранилище LocalMachine и логическое хранилище TrustedRoot. Вы можете проверить, открыв mmc (start-> run-> mmc) и добавив оснастку «Сертификаты» и выбрав «Учетная запись компьютера» в качестве хранилища.

Еще более простой тест:

makecert -sk myKey -n "CN=test" -ss my -pe

Затем запустите-> run-> certmgr.msc (который открывает диспетчер сертификатов для локального хранилища пользователей) и проверьте хранилище личных сертификатов. Там у вас должен быть сертификат под названием test с закрытым ключом.

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

Edit: Опция -pe означает экспортируемый закрытый ключ. Если используется -pe, у вас будет возможность экспортировать ключ из certmgr с закрытым ключом. Если вы не используете -pe, вы не получите возможность экспортировать закрытый ключ (мой комментарий ниже должен содержать «без -pe», а не «-pe»).

...