enrollCustomCMC

enrollCustomCMC 示例创建 CMC 证书请求,并在证书层次结构中注册计算机。

位置

安装 Microsoft Windows软件开发工具包 (SDK) 时,该示例默认安装在 %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollmentCustomCMC 文件夹中。

讨论 (Discussion)

enrollCustomCMC 示例:

  1. 处理以下命令行参数:
    • 要添加到证书请求的自定义名称/值配对。
    • 备用使用者名称。
    • 增强型密钥用法 (EKU) 扩展的对象标识符 (OID) 。
  2. 创建 IX509CertificateRequestPkcs10 请求对象,并使用计算机上下文初始化它。
  3. 使用 PKCS #10 请求初始化 IX509CertificateRequestCmc 对象。
  4. 使用命令行中指定的 OID 创建 IX509ExtensionEnhancedKeyUsage 对象,并将其添加到 CMC 请求的扩展集合。
  5. 使用命令行上指定的名称创建 IAlternativeName 对象,将其添加到 IAlternativeNames 集合,使用该集合初始化 IX509ExtensionAlternativeNames 扩展,并将其添加到 CMC 请求的扩展集合中。
  6. 使用命令行中指定的名称和值创建 IX509NameValuePair 对象,并将其添加到 CMC 请求上的 IX509NameValuePairs 集合。
  7. 创建 IX509Enrollment 对象,使用 CMC 请求对象初始化它,并检索包含 base64 编码请求的字符串。
  8. 创建 ICertConfig 对象,并使用它检索包含 CA 配置的字符串。
  9. 创建 CryptoAPI ICertRequest2 对象,并将其与包含 CA 配置和证书请求的字符串一起用于将请求提交到 CA。
  10. 检查提交状态,如果成功,请将证书安装到证书存储中。

CMC 请求

PKCS #10 请求

使用包含的示例