WinHttpCertCfg.exe,证书配置工具

Microsoft Windows HTTP Services (WinHTTP) 证书配置工具“WinHttpCertCfg.exe”允许管理员在 Internet Server Web 应用程序管理器 (IWAM) 帐户访问的任何证书存储中安装和配置客户端证书。 使用 Active Server Pages (ASP) 时,该工具还无需对帐户(如 IWAM 帐户)执行任何特殊操作即可访问证书。

Microsoft 管理控制台 (MMC) 使管理员能够将客户端证书导入本地计算机。 但是,导入证书不会自动授予对其他帐户私钥的访问权限。 客户端证书身份验证需要此私钥。 Microsoft Windows HTTP Services (WinHTTP) 证书配置工具可在需要时授予对其他帐户(如 IWAM 帐户)的访问权限。

使用证书配置工具

WinHTTP 证书配置工具 WinHttpCertCfg.exe,可在 Windows Server 2003 资源工具包工具 网站上下载。 以下示例代码显示了要与此工具一起使用的有效命令行参数。

winhttpcertcfg [-?]
 
winhttpcertcfg [-i PFXFile | -g | -r | -l]
               [-a Account] [-c CertStore] 
               [-s SubjectStr] [-p PFXPassword]

下表列出了配置工具的参数。

参数 说明
-? 显示语法数据。
-o 指定要从个人信息交换 (PFX) 文件导入证书。 此参数必须后跟文件的名称。 指定此参数时,还必须指定“-a”和“-c”。
-g 指定向私钥授予访问权限。 指定此参数时,还必须指定“-a”、“-c”和“-s”。
-r 指定删除私钥的访问权限。 指定此参数时,还必须指定“-a”、“-c”和“-s”。
-l 指定列出有权访问私钥的帐户。 指定此参数时,还必须指定“-c”和“-s”。
-a 指定正在配置的计算机上的用户帐户。 这可能是本地计算机或域帐户,例如“IWAM_TESTMACHINE”、“TESTUSER”或“TESTDOMAIN\DOMAINUSER”。
-c 指定 证书存储的位置和名称。 使用“LOCAL_MACHINE”或“CURRENT_USER”指定要用于该位置的注册表分支。 证书存储可以是计算机上安装的任何证书存储。 典型的名称示例包括“MY”、“Root”和“TrustedPeople”。 证书存储的位置和名称用向后斜杠分隔,例如“LOCAL_MACHINE\Root”。 注意: 尽管可以使用此参数指定注册表的“CURRENT_USER”分支,但扩展对私钥的访问主要用于多个用户可访问的本地计算机 证书存储 中安装的证书。
-S 指定不区分大小写的搜索字符串,用于查找具有包含此子字符串的使用者名称的第一个枚举证书。
-p 指定用于导入证书和私钥的密码。 这仅与导入选项一起使用。

注意

用户必须具有足够的权限才能使用此工具,这要求用户必须是管理员和安装客户端证书的同一用户(如果已安装)。

“WinHttpCertCfg.exe”工具对于配置存储在文件系统(如 FAT32)中的证书没有用处,因为 FAT32 不支持访问控制列表 (ACL) 。

示例

以下示例演示了使用配置工具的一些方法。

  1. 此命令列出有权访问注册表 LOCAL_MACHINE 分支的“根” 证书存储 中的“MyCertificate”证书私钥的帐户。

    winhttpcertcfg -l -c LOCAL_MACHINE\Root -s MyCertificate

  2. 此命令授予对 TESTUSER 帐户的“MyCertificate” 证书存储 中“MyCertificate”证书私钥的访问权限。

    winhttpcertcfg -g -c LOCAL_MACHINE\My -s MyCertificate -a TESTUSER

  3. 此命令从 PFX 文件导入证书和私钥,并将私钥访问权限扩展到另一个帐户。

    winhttpcertcfg -i PFXFile -c LOCAL_MACHINE\My -a IWAM_TESTMACHINE -p PFXPassword

  4. 此命令拒绝访问具有指定证书的 IWAM_TESTMACHINE 帐户的私钥。

    winhttpcertcfg -r -c LOCAL_MACHINE\Root -s MyCertificate -a IWAM_TESTMACHINE