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
指定从证书将保持有效的开始日期开始的月份数。

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

如果未指定 /n 开关,则证书的默认名称为“Joe's Software Emporium”。

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

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

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

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

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

currentUser
指定注册表位置HKEY_CURRENT_USER。

localMachine
指定注册表位置HKEY_LOCAL_MACHINE。

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

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

/svSubjectKeyFile
指定保存私钥的主题的 .pvk 文件的名称。 如果 / sk/sv 开关均未输入,则默认创建并使用默认密钥容器。

OutputFile
保存生成的证书的文件的名称。

备注

MakeCert 支持大量开关。 本主题中所述的开关仅限于可用于创建 测试证书的开关。

有关 MakeCert 参数的完整列表,请参阅 MakeCert 网站和使用 MakeCert 网站。

32 位版本的 MakeCert 工具位于 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