createCNGCustomCMC
createCNGCustomCMC 示例从内部嵌套 PKCS #10 请求创建 CMC 请求对象。 内部请求是使用非对称 私钥创建的。 私钥是使用加密 API:下一代 (CNG) 加密提供程序和命令行中指定的算法创建的。 自定义选项(如导出策略和密钥保护级别)也在私钥上设置。
位置
) 安装 Microsoft Windows 软件开发工具包 (SDK 时,该示例默认安装在 %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\createCNGCustomCMC 文件夹中。
讨论 (Discussion)
createCNGCustomCMC 示例:
- 处理以下命令行参数:
- CSP) (CNG 加密服务提供程序 的名称。
- 用于生成非对称私钥的算法的名称。
- 用于对证书请求进行哈希运算的算法的名称。
- 要在其中保存证书请求的输出文件。
- (AlternateSignature) 可选字符串,如果存在,则指定使用离散签名算法而不是组合签名算法。 有关详细信息,请参阅 AlternateSignatureAlgorithm 属性。
- 创建 IX509PrivateKey 对象并设置以下属性:
- 创建非对称私钥。
- 创建 IX509CertificateRequestPkcs10 对象,并使用私钥对其进行初始化。
- 创建 IX509CertificateRequestCmc 对象,并使用在步骤 4 中创建的 PKCS #10 请求对象对其进行初始化。
- 根据是否在命令行上指定备用签名字符串,将备用签名算法标志设置为 VARIANT_TRUE 或 VARIANT_FALSE 。 有关详细信息,请参阅 AlternateSignatureAlgorithm。
- 从命令行上指定的算法名称创建 哈希算法对象标识符 (OID) ,并在 CMC 请求对象上设置 OID。
- 使用 可辨别编码规则 (DER) 对证书请求进行签名和编码。
- 检索包含编码的 CMC 证书请求的字符串,并将其保存到文件中。 EncodeToFileW 函数在 EnrollCommon.cpp 中定义。
相关主题
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈