Назад | Перейти на главную страницу

WinHttpCertCfg не импортирует сертификат

Мне нужно настроить сценарий развертывания, который импортирует сертификат SSL, который использует моя служба. Я пробовал импортировать с помощью WinHttpCertCfg и CertMgr, но безрезультатно.

Вот аргументы командной строки, которые я пытался использовать с обоими:

winhttpcertcfg.exe -i <certname>.pfx -c LOCAL_MACHINE\My -p <password> -a <user service runs as>

и

CertMgr.exe -add -all -s -r localMachine -c <cert name> My

Из того, что я исследовал, кажется, что CertMgr не позволяет импортировать сертификаты с паролем, поэтому я бы предпочел, чтобы winhttpcertcfg работал.

Когда я запускаю их, я получаю следующий результат: WinHttpCertCfg:

Microsoft (R) WinHTTP Certificate Configuration Tool
Copyright (C) Microsoft Corporation 2001.

CertMgr:

CertMgr Succeeded

Однако, когда я просматриваю сертификаты локальных машин в MMC, пытаюсь загрузить их из моей службы или перечислить их через winhttpcertcfg, или даже просматривая реестр в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ SystemCertificates \ MY \ Certificates, он не найден .

Я пробовал все следующее:

На данный момент у меня официально нет идей.

Спасибо.

Всегда есть CertUtil.exe:

CertUtil -p Password -ImportPFX File.pfx

Дополнительные возможности смотрите здесь:
http://technet.microsoft.com/en-us/library/cc732443.aspx

Или попробуйте:

CertUtil -ImportPFX -?

Я нашел ответ:

Оказывается, есть проблемы с серверной частью библиотеки, которую winhttpcertcfg использует для установки сертификата и Win 2008. Есть альтернатива, и это установка сертификатов с помощью Powershell. Вы можете написать сценарий для использования класса x509Certificate2 .NET и импортировать сертификат в любое нужное хранилище. Этот метод также дает вам больше гибкости для выполнения любых дополнительных проверок, которые вам нужны.

Подробнее Вот.