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

开关和参数的部分列表

/bDateStart
指定证书首次生效的开始日期。 DateStart 的格式为 mm/dd/yyyy。

如果 未指定 /b 开关,则默认开始日期是创建证书的日期。

/eDateEnd
指定证书有效期结束的结束日期。 DateEnd 的格式为 mm/dd/yyyy。

如果 未指定 /e 开关,则默认结束日期为 2039/12/31。

/lenKeyLength
指定主题的私钥和公钥的长度(以位为单位)。

如果未指定 /len 开关,则默认密钥长度为 1024 位。

/mnMonths
指定从证书保持有效的开始日期开始的月数。

/n "Name"
指定证书的名称。 此名称必须符合 X.500 标准。 最简单的方法是使用"CN=MyName"格式。

如果 未指定 /n 开关,则证书的默认名称为"Joe 的软件 Emporium"。

/pe
配置 MakeCert,使与证书关联的私钥可导出。

/r
配置 MakeCert 以创建自签名根证书。

/scSubjectCertFile
指定主题的证书文件名以及使用的现有主题公钥。

/skSubjectKey
指定保存私钥的主题密钥容器的名称。 如果密钥容器不存在,则创建一个新的密钥容器。 如果未 输入 /sk/sv 开关,则默认创建并使用默认密钥容器。

/srSubjectCertStoreLocation
指定证书存储的注册表位置。 SubjectCertStoreLocation 参数必须是以下任一项:

currentUser
指定注册表位置HKEY_CURRENT_USER。

localMachine
指定注册表位置HKEY_LOCAL_MACHINE。

如果 /r 开关未与 /s 开关一起指定, 则 currentUser 为默认值。

/ssSubjectCertStoreName
指定保存生成的证书的证书存储的名称。

/svSubjectKeyFile
指定保存私钥的主题的 .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