更新:2011 年 4 月
证书管理器工具 (Certmgr.exe) 管理证书、证书信任列表 (CTL) 和证书吊销列表 (CRL)。
![]() |
---|
“证书管理器”工具 (Certmgr.exe) 是一个命令行实用程序,而“证书” (Certmgr.msc) 则是 Microsoft 管理控制台 (MMC) 管理单元。由于 Certmgr.msc 通常是在 Windows 系统目录中找到的,因此在命令行上输入 certmgr 可加载证书 MMC 管理单元,即使您已打开 Visual Studio 命令提示符。出现这种情况的原因是,PATH 环境变量中的管理单元路径在证书管理器工具的路径之前。如果您遇到此问题,可以通过指定可执行文件的路径执行 Certmgr.exe 命令。 |
安装 Visual Studio 和 Windows SDK 时会自动安装此工具。 要运行工具,我们建议您使用 Visual Studio 命令提示符或 Windows SDK 命令提示符(也称 CMD Shell)。 您可以使用这些实用程序轻松运行工具,而不需要导航到安装文件夹。 有关更多信息,请参见 Visual Studio 和 Windows SDK 命令提示。
如果您的计算机上已安装了 Visual Studio:在任务栏上依次单击 Start、All Programs、Visual Studio、Visual Studio Tools、Visual Studio Command Prompt。
- 或 -
如果您的计算机上已安装了 Windows SDK:在任务栏上依次单击 Start、All Programs、Windows SDK 文件夹和 Command Prompt(或CMD Shell)。
在命令提示处,键入下列命令:
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
参数
参数 |
说明 |
---|---|
sourceStorename |
包含现有证书、CTL 或 要添加、删除、保存或显示的CRL的证书存储区。 这可以是一个存储文件,也可以是一个系统存储。 |
destinationStorename |
输出证书存储区或文件。 |
选项 |
说明 |
---|---|
/add |
将证书、CTL 和 CRL 添加到证书存储区中。 |
/all |
当与 /add 一起使用时添加所有项。 当与 /del 一起使用时删除所有项。 不带 /add 或 /del 选项使用时显示所有项。 /all 选项不能与 /put 一起使用。 |
/c |
当与 /add 一起使用时添加证书。 当与 /del 一起使用时删除证书。 当与 /put 一起使用时保存证书。 不带 /add、/del 或 /put 选项使用时显示证书。 |
/CRL |
当与 /add 一起使用时添加 CRL。 当与 /del 一起使用时删除 CRL。 使用 /put 后,保存 CRL。 不带 /add、/del 或 /put 选项使用时显示 CRL。 |
/CTL |
当与 /add 一起使用时添加 CTL。 当与 /del 一起使用时删除 CTL。 使用 /put 后,保存 CTL。 不带 /add、/del 或 /put 选项使用时显示 CTL。 |
/del |
从证书存储区中删除证书、CTL 和 CRL。 |
/e encodingType |
指定证书编码类型。 默认值为 X509_ASN_ENCODING。 |
/f dwFlags |
指定存储区打开标志。 这是传递到 CertOpenStore 的 dwFlags 参数。 默认值为 CERT_SYSTEM_STORE_CURRENT_USER。 仅当使用 /y 选项时才考虑此选项。 |
/h[elp] |
显示该工具的命令语法和选项。 |
/n nam |
指定要添加、删除或保存的证书的公共名。 此选项只能用于证书,不能用于 CTL 或 CRL。 |
/put |
将证书存储区中的 X.509 证书、CTL 或 CRL 保存到文件。 文件以 X.509 格式保存。 /7 选项可与 /put 选项一起使用以 PKCS #7 格式保存文件。 /put 选项后面必须有 /c、/CTL 或 /CRL。 /all 选项不能与 /put 一起使用。 |
/r 位置 |
标识系统存储区的注册表位置。 仅当指定 /s 选项时才考虑此选项。 ___location 必须是以下项之一:
|
/s |
指示证书存储区是系统存储区。 如果未指定此选项,则会将存储区视为 StoreFile。 |
/sha1 sha1Hash |
指定要添加、删除或保存的证书、CTL 或 CRL 的 SHA1 哈希。 |
/v |
指定详细模式;显示有关证书、CTL 和 CRL 的详细信息。 此选项不能与 /add、/del 或 /put 选项一起使用。 |
/y provider |
指定存储提供程序名称。 |
/7 |
将目标存储区保存为 PKCS #7 对象。 |
/? |
显示该工具的命令语法和选项。 |
备注
Certmgr.exe 执行下列基本功能:
将证书、CTL 和 CRL 显示到控制台。
将证书、CTL 和 CRL 添加到证书存储区中。
从证书存储区中删除证书、CTL 和 CRL。
将证书存储区中的 X.509 证书、CTL 或 CRL 保存到文件。
Certmgr.exe 使用两类证书存储区:StoreFile 和系统存储区。 不必指定证书存储区的类型;Certmgr.exe 能够识别存储区类型并执行适当的操作。
运行 Certmgr.exe 时若不指定任何选项,则将启动一个 certmgr.msc 管理单元来帮助执行也可通过命令行访问的证书管理任务。 该 GUI 提供一个导入向导,此向导将证书、CTL 和 CRL 从磁盘复制到证书存储区中。
有关证书的更多信息,请参见 Microsoft Platform SDK 文档中的“About CryptoAPI”部分。
示例
下列命令显示一个名为 my 且包含详细输出的默认系统存储区。
certmgr /v /s my
下面的命令将名为 myFile.ext 的文件中的所有证书添加到一个名为 newFile.ext 的新文件中。
certmgr /add /all /c myFile.ext newFile.ext
以下命令将名为 testcert.cer 文件中的证书添加到 my 系统存储区内。
certmgr /add /c testcert.cer /s my
以下命令将名为 TrustedCert.cer 文件中的证书添加到根证书存储区内。
certmgr /c /add TrustedCert.cer /s root
下面的命令将 my 系统存储区中具有公共名 myCert 的证书保存到一个名为 newCert.cer 的文件中。
certmgr /add /c /n myCert /s my newCert.cer
下面的命令删除 my 系统存储区中的所有 CTL,并将结果存储区保存到一个名为 newStore.str 的文件中。
certmgr /del /all /ctl /s my newStore.str
下面的命令将 my 系统存储区中的一个证书保存到 newFile 文件中。 将提示您输入 my 中要放在 newFile 中的证书号码。
certmgr /put /c /s my newFile
请参见
参考
Visual Studio 和 Windows SDK 命令提示
其他资源
修订记录
Date |
修订记录 |
原因 |
---|---|---|
2011 年 4 月 |
添加了有关使用 Visual Studio 和 Windows SDK 命令提示符的信息。 |
信息补充。 |
2010 年 5 月 |
最新的语法以及添加的一些示例。 |
客户反馈 |