MakeCert
注意
已弃用 Makecert。 若要创建自签名证书,请使用 Powershell Cmdlet New-SelfSignedCertificate。
MakeCert 工具创建由测试根密钥或其他指定密钥签名的 X.509 证书,该证书将你的姓名绑定到密钥对的公共部分。 证书将保存到文件、系统证书存储或同时保存到两者中。 该工具安装在 Microsoft Windows 软件开发工具包的 \Bin 文件夹中, (SDK) 安装路径。
MakeCert 工具使用以下命令语法:
MakeCert [BasicOptions|ExtendedOptions] OutputFile
OutputFile 是将在其中写入证书的文件的名称。 如果不将证书写入文件,则可以省略 OutputFile 。
选项
MakeCert 包括基本选项和扩展选项。 基本选项是最常用于创建证书的选项。 扩展选项提供更多的灵活性。
MakeCert 的选项也分为三个功能组:
- 仅适用于证书存储技术的基本选项。
- 特定于 SPC 文件和私钥技术的扩展选项。
- 适用于 SPC 文件、私钥和证书存储技术的扩展选项。
下表中提供的选项只能与 Internet Explorer 4.0 或更高版本一起使用。
基本选项 | 说明 |
---|---|
-a算法 | 哈希 算法。 必须设置为 SHA-1 或 MD5 (默认) 。 有关 MD5 的信息,请参阅 MD5。 |
-BDateStart | 证书首次生效的日期。 默认值为创建证书时。 DateStart 的格式为 mm/dd/yyyy。 |
-cyCertificateTypes | 证书类型。 对于最终实体,CertificateType 可以结束,也可以是证书颁发机构的颁发机构。 |
-eDateEnd | 有效期结束的日期。 默认值为 2039 年。 |
-ekuOID1,OID2 ... | 将一个或多个逗号分隔的 增强型密钥使用对象标识符 的列表 (OID) 插入证书。 例如, -eku 1.3.6.1.5.5.7.3.2 插入客户端身份验证 OID。 有关允许的 OID 的定义,请参阅 CryptoAPI 2.0 中的 Wincrypt.h 文件。 |
-HNumChildren | 此证书下方树的最大高度。 |
-我PolicyLink | 指向 SPC 代理策略信息的链接 (例如 URL) 。 |
-mnMonths | 有效期的持续时间。 |
-n“Name” | 发布者证书的名称。 此名称必须符合 X.500 标准。 最简单的方法是使用“CN=MyName”格式。 例如:-n“CN=Test”。 |
-nscp | 应包含 Netscape 客户端身份验证扩展。 |
-体育 | 将私钥标记为可导出。 |
-r | 创建自签名证书。 |
-ScSubjectCertFile | 证书文件名,其中包含要使用的现有使用者公钥。 |
-SkSubjectKey | 保存 私钥的使用者密钥容器的位置。 如果密钥容器不存在,则将创建一个。 如果未使用 -sk 或 -sv 选项,则默认创建并使用默认密钥容器。 |
-天空SubjectKeySpec | 使用者的密钥规范。 SubjectKeySpec 必须是三个可能值之一:
|
-SpSubjectProviderName | 主题的 CryptoAPI 提供程序。 默认值为用户的提供程序。 有关 CryptoAPI 提供程序的信息,请参阅 CryptoAPI 2.0 文档。 |
-锶SubjectCertStoreLocation | 使用者证书存储的注册表位置。 SubjectCertStoreLocation 必须是 LocalMachine (注册表项HKEY_LOCAL_MACHINE) 或 CurrentUser (注册表项HKEY_CURRENT_USER) 。 CurrentUser 为默认值。 |
-ssSubjectCertStoreName | 将存储生成的证书的使用者证书存储的名称。 |
-SvSubjectKeyFile | 使用者的 .pvk 文件的名称。 如果未使用 -sk 或 -sv 选项,则默认创建并使用默认密钥容器。 |
-SynSubjectProviderType | 主题的 CryptoAPI 提供程序类型。 默认值为 PROV_RSA_FULL。 有关 CryptoAPI 提供程序类型的信息,请参阅 CryptoAPI 2.0 文档。 |
-#SerialNumber | 证书的序列号。 最大值为 2^31。 默认值是工具生成的值,该值保证是唯一的。 |
-$CertificateAuthority | 证书颁发机构的类型。 对于商业软件发布者) 使用的证书,CertificateAuthority 必须设置为商业 (,或者将单个 (设置为单个软件发布者) 使用的证书。 |
-? | 显示基本选项。 |
-! | 显示扩展选项。 |
注意
如果在 Internet Explorer 版本 4.0 或更高版本中使用 -sky 密钥规范选项,则规范必须与私钥文件或私钥容器指示的密钥规范匹配。 如果未使用密钥规范选项,将使用私钥文件或私钥容器指示的密钥规范。 如果密钥容器中有多个密钥规范,MakeCert 将首先尝试使用AT_SIGNATURE密钥规范。 如果失败,MakeCert 将尝试使用AT_KEYEXCHANGE。 由于大多数用户具有AT_SIGNATURE密钥或AT_KEYEXCHANGE密钥,因此在大多数情况下不需要使用此选项。
以下选项仅适用于 软件发布者证书 (SPC) 文件和私钥技术。
SPC 和私钥选项 | 说明 |
---|---|
-IcIssuerCertFile | 颁发者证书的位置。 |
-益IssuerKey | 颁发者的密钥容器的位置。 默认值为测试根键。 |
-ikyIssuerKeySpec | 颁发者的密钥规范,必须是三个可能值之一:
|
-IpIssuerProviderName | 颁发者的 CryptoAPI 提供程序。 默认值为用户的提供程序。 有关 CryptoAPI 提供程序的信息,请参阅 CryptoAPI 2.0 文档。 |
-四IssuerKeyFile | 颁发者的私钥文件。 默认值为测试根。 |
-iynIssuerProviderType | 颁发者的 CryptoAPI 提供程序类型。 默认值为 PROV_RSA_FULL。 有关 CryptoAPI 提供程序类型的信息,请参阅 CryptoAPI 2.0 文档。 |
注意
如果在 Internet Explorer 4.0 或更高版本中使用 -iky 密钥规范选项,则规范必须与私钥文件或私钥容器指示的密钥规范匹配。 如果未使用密钥规范选项,将使用私钥文件或私钥容器指示的密钥规范。 如果密钥容器中有多个密钥规范,MakeCert 将首先尝试使用AT_SIGNATURE密钥规范。 如果失败,MakeCert 将尝试使用AT_KEYEXCHANGE。 由于大多数用户具有AT_SIGNATURE密钥或AT_KEYEXCHANGE密钥,因此在大多数情况下不需要使用此选项。
以下选项仅适用于 证书存储 技术。
证书存储选项 | 说明 |
---|---|
-icIssuerCertFile | 包含颁发者证书的文件。 MakeCert 将在证书存储中搜索完全匹配的证书。 |
-inIssuerNameString | 颁发者证书的公用名。 MakeCert 将在证书存储中搜索公用名包括 IssuerNameString 的证书。 |
-irIssuerCertStoreLocation | 颁发者的证书存储的注册表位置。 IssuerCertStoreLocation 必须是 LocalMachine (注册表项HKEY_LOCAL_MACHINE) 或 CurrentUser (注册表项HKEY_CURRENT_USER) 。 CurrentUser 为默认值。 |
-isIssuerCertStoreName | 颁发者的证书存储,其中包括颁发者的证书及其关联的私钥信息。 如果存储中有多个证书,则用户必须使用 -ic 或 -in 选项对其进行唯一标识。 如果证书存储中的证书未唯一标识,则 MakeCert 将失败。 |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈