MakeCert
MakeCert (Makecert.exe) 是一种命令行 CryptoAPI 工具,用于创建 X.509 证书,该证书由系统测试根密钥或其他指定的密钥签名。 证书将证书名称绑定到密钥对的公共部分。 证书将保存到文件、系统证书存储或两者中。
MakeCert 支持大量交换机,但本节仅介绍与创建 测试证书相关的基本开关,该证书 可用于测试 驱动程序包 或将签名嵌入驱动程序文件中。
MakeCert [/b DateStart] [/e DateEnd] [/len KeyLength] [/m nMonths] [/n "Name"] [/pe] [/r] [/sc SubjectCertFile] [/sk SubjectKey] [/sr SubjectCertStoreLocation] [/ss SubjectCertStoreName] [/sv SubjectKeyFile]OutputFile
开关和参数的部分列表
/b DateStart
指定证书首次生效时的开始日期。 DateStart 的格式为 mm/dd/yyyy。
如果未指定 /b 开关,则默认开始日期是创建证书的日期。
/e DateEnd
指定证书有效期结束时的结束日期。 DateEnd 的格式为 mm/dd/yyyy。
如果未指定 /e 开关,则默认结束日期为 2039/12/31。
/len KeyLength
指定使用者的私钥和公钥的长度(以位为单位)。
如果未指定 /len 开关,则默认密钥长度为 1024 位。
/m nMonths
指定从证书保持有效开始日期开始的月份数。
/n “Name”
指定证书的名称。 此名称必须符合 X.500 标准。 最简单的方法是使用“CN=MyName”格式。
如果未指定 /n 开关,则证书的默认名称为“Joe 的软件 Emporium”。
/体育
将 MakeCert 配置为使与证书可导出关联的私钥。
/r
配置 MakeCert 以创建自签名根证书。
/sc SubjectCertFile
指定使用者的证书文件名以及使用的现有使用者公钥。
/sk SubjectKey
指定保存私钥的主题密钥容器的名称。 如果密钥容器不存在,则会创建新的密钥容器。 如果未输入 /sk 和 /sv 开关,则默认创建和使用默认密钥容器。
/sr SubjectCertStoreLocation
指定证书存储的注册表位置。 SubjectCertStoreLocation 参数必须是以下任一参数:
currentUser
指定注册表位置HKEY_CURRENT_USER。
localMachine
指定注册表位置HKEY_LOCAL_MACHINE。
如果未与 /s 开关一起指定 /r 开关,则 currentUser 是默认值。
/ss SubjectCertStoreName
指定保存生成的证书的证书存储的名称。
/sv SubjectKeyFile
指定保存私钥的主题的 .pvk 文件的名称。 如果未输入 /sk 和 /sv 开关,则默认创建和使用默认密钥容器。
OutputFile
在其中保存生成的证书的文件的名称。
备注
MakeCert 支持大量交换机。 本主题中所述的开关仅限于可用于创建 测试证书的开关。
有关 MakeCert 参数的完整列表,请参阅 MakeCert 网站和使用 MakeCert 网站。
MakeCert 工具的 32 位版本位于 WDK 的 bin\i386 文件夹中。 该工具的 64 位版本位于 WDK 的 bin\amd64 和 bin\ia64 文件夹中。
示例
在以下示例中,MakeCert 命令生成名为“Contoso.com(Test)”的自签名测试证书,在 PrivateCertStore 证书存储中安装测试证书,并创建包含测试证书副本的Testcert.cer文件。
MakeCert -r -pe -ss PrivateCertStore -n "CN=Contoso.com(Test)" testcert.cer