CertMgr 是替换 DumpCert 的证书管理工具。 它提供用于管理 证书、 证书信任列表 (CCL)和 证书吊销列表 (CRL)的功能。 该工具安装在 Microsoft Windows 软件开发工具包 (SDK) 安装路径下的 \Bin 文件夹中。
CertMgr 作为 Windows SDK 的一部分提供,你可以 在此处下载。
Syntax
CertMgr 根据命令中指示的操作执行四个函数之一。 使用以下语法:
CertMgr [-add-del-put||] [Options] [ -s [-rRegistryLocation ] ] SourceName [ -s [ -s [ -rRegistryLocation ] ] [DestinationName]
CertMgr 命令作
下表指示 CertMgr 工具的基本作:
| 操作标志 | 说明 |
|---|---|
| 无 | 显示证书、CRL 或 CTLs.With 无操作标志(仅显示),SourceName 是包含要显示的项的证书存储或文件的名称。 存储可以是 序列化 存储(StoreFile)或系统存储。 默认情况下,CertMgr 显示证书存储或文件中的所有证书、CTL 或 CRL。 DestinationName 不用于显示。 |
| -add | 使用 -add 将证书、CTL 和 CRL 复制到证书 store.When,SourceName 是包含现有证书、CTL 和 CRL 的源证书存储。 DestinationName 是目标证书存储区,证书、CTL 和 CRL 被添加到其中。 目标存储将保存为 序列化 存储,除非使用 -7 选项,否则将存储保存为 PKCS #7 文件。 请注意,当目标存储是系统存储时,无法使用 -7 选项。 |
| -del | 使用 -del从证书 store.When 中删除证书、CTL 和 CRL,SourceName 是包含现有证书、CTL 和 CRL 的源证书存储。 DestinationName 是目标证书存储区,删除指定项后,它将包含剩余证书、CTL 和 CRL 的副本。 如果未指定 DestinationName,SourceName 也将用作目标存储(将被修改)。 目标存储将保存为 序列化 存储,除非使用 -7 选项,否则将存储保存为 PKCS #7 文件。 请注意,当目标存储是系统存储时,无法使用 -7 选项。 |
| -put | 将 X.509 编码的证书、CTL 或 CRL 保存到文件中。使用 -put 时, SourceName 是包含现有证书、CCL 和 CRL 的源证书存储。 DestinationName 是 将 X.509 编码证书、CTL 和 CRL 保存到的文件的名称。 如果使用 -7 选项,该文件将被另存为 PKCS #7 文件。 |
CertMgr 命令选项
以下选项适用于所有 CertMgr 函数,但以下选项除外:
| 选项 | 操作标志 | 说明 |
|---|---|---|
| -v | none(仅显示) | 详细模式。 显示有关证书、CTL 和 CRL 的详细信息。 默认设置是显示简要信息。 |
| -c | 全部 | 仅使用证书。 |
| -CTL | 全部 | 仅使用 CTL。 |
| -CRL | 全部 | 仅使用 CRL。 |
| -all |
-add-del -put |
添加所选类型的所有条目。 |
| -eencodingType | 全部 | 证书 编码类型。 |
| -ystoreProviderType | 全部 | 存储程序类型。 |
| -7 |
-add-del -put |
将目标存储保存为 PKCS #7 文件。 |
| -fdwFlags | 全部 | 存储打开的标志。 这是传递给 CertOpenStore的 dwFlags 参数。 默认值为 CERT_SYSTEM_STORE_CURRENT_USER。 仅当设置了 -y 时才有意义。 有关详细信息,请参阅 CertOpenStore。 |
| -ncommonNameString |
-add-del -put |
证书的通用名称。 仅可与证书一起使用。 |
| -sha1sha1Hash |
-add-del -put |
要复制、删除或保存的证书、CTL 或 CRL 的 SHA1 哈希。 |
| -s | 全部 | 表明存储是系统存储。 |
| -rregistryLocation | 全部 | 系统证书存储的注册表位置。 仅在设置 -s 时才有意义。 必须设置为 currentUser(注册表项 HKEY_CURRENT_USER)或 localMachine(注册表项 HKEY_LOCAL_MACHINE)。 默认值为 currentUser。 |
| %> | 全部 | 显示所有选项。 |
注解
CertMgr 可以复制、删除或保存一个或多个证书、CTL 或 CRL。 如果以下类别中有多个项,则用户有三个选项:
- 使用 -all 选项复制、删除或保存所指示类别中的所有项。
- 使用 -n 和 -sha1 选项唯一标识要复制、删除或保存的项目。
- 如果未指示 -all 或 -n 和 -sha1,则 CertMgr 会提示用户提供要复制、删除或保存的项目列表。 用户通过输入要复制、删除或保存的项的索引来响应。
CertMgr 的操作使用语法和选项略有不同。 必须使用特定于操作的语法和选项。
CertMgr 使用两类证书存储:StoreFile 和系统存储。 StoreFile 可以是以下几种文件之一:
- 编码的 CTL/CRL/证书文件(可能为 base 64 编码)
- PKCS #7 文件
- 已签名的文档
- 序列化的 StoreFile
不需要指定 StoreFile 的类型。 CertMgr 可以确定 StoreFile 类型并采取相应的操作。
系统存储是通常位于 currentUser 下的注册表中的证书存储。 用户只需提供其名称即可引用系统存储。 不需要指定证书存储提供程序类型。 根据 StoreFile 或系统存储的类型,CertMgr 选择相应的存储提供程序类型。