将使用者可选名称添加到安全 LDAP 证书

本文介绍如何将使用者可选名称(SAN)添加到安全的轻型目录访问协议(LDAP)证书。

原始 KB 数: 931351

总结

LDAP 证书提交到基于 Windows Server 2003 的计算机上的证书颁发机构(CA)。 SAN 允许使用除计算机名称以外的域名系统(DNS)名称连接到域控制器。 本文包含有关如何将 SAN 属性添加到提交到企业 CA、独立 CA 或第三方 CA 的认证请求的信息。

本文还讨论了如何执行以下操作:

  • 配置 CA 以接受证书请求的 SAN 属性。
  • 创建证书请求并将其提交到企业 CA。
  • 创建证书请求并将其提交到独立 CA。
  • 使用 Certreq.exe 工具创建证书请求。
  • 创建证书请求并将其提交到第三方 CA。

创建和提交证书请求

向企业 CA 提交证书请求时,必须将证书模板配置为在请求中使用 SAN,而不是使用 Active Directory 目录服务中的信息。 版本 1 Web 服务器模板可用于请求将通过安全套接字层 (SSL) 支持 LDAP 的证书。 可以将版本 2 模板配置为从证书请求或 Active Directory 检索 SAN。 若要颁发基于版本 2 模板的证书,企业 CA 必须在运行 Windows Server 2003 企业版的计算机上运行。

向独立 CA 提交请求时,不使用证书模板。 因此,SAN 必须始终包含在证书请求中。 SAN 属性可以添加到使用 Certreq.exe 程序创建的请求。 或者,SAN 属性可以包含在使用 Web 注册页提交的请求中。

使用 Web 注册页向企业 CA 提交证书请求

若要将包含 SAN 的证书请求提交到企业 CA,请执行以下步骤:

  1. 打开 Internet Explorer。

  2. 在 Internet Explorer 中,连接到 http://<servername>/certsrv.

    注意

    占位符 <服务器名称> 表示运行 Windows Server 2003 且具有要访问的 CA 的 Web 服务器的名称。

  3. 单击“ 请求证书”。

  4. 单击“高级证书申请”

  5. 单击“ 创建”并向此 CA 提交请求。

  6. “证书模板” 列表中,单击“ Web 服务器”。

    注意

    CA 必须配置为颁发 Web 服务器证书。 如果 CA 尚未配置为颁发 Web 服务器证书,则可能需要将 Web 服务器模板添加到证书颁发机构管理单元中的“证书模板”文件夹中。

  7. 根据需要提供标识信息。

  8. “名称 ”框中,键入域控制器的完全限定域名。

  9. 在“密钥选项”,设置以下选项:

    • 创建新密钥集
    • CSP:Microsoft RSA SChannel 加密提供程序
    • 密钥用法:Exchange
    • 密钥大小:1024 - 16384
    • 自动密钥容器名称
    • 将证书存储在本地计算机证书存储中
  10. 在“高级选项”,将请求格式设置为 CMC

  11. 属性”框中,键入所需的 SAN 属性。 SAN 属性采用以下形式:

    san:dns=dns.name[&dns=dns.name]

    多个 DNS 名称由与号分隔(&)。 例如,如果域控制器 corpdc1.fabrikam.com 的名称是别名 ldap.fabrikam.com,则这两个名称都必须包含在 SAN 属性中。 生成的属性字符串如下所示:

    san:dns=corpdc1.fabrikam.com&dns=ldap.fabrikam.com

  12. 单击“提交” 。

  13. 如果看到 证书颁发的 网页,请单击“ 安装此证书”。

使用 Web 注册页将证书请求提交到独立 CA

若要将包含 SAN 的证书请求提交到独立 CA,请执行以下步骤:

  1. 打开 Internet Explorer。

  2. 在 Internet Explorer 中,连接到 http://<servername>/certsrv.

    注意

    占位符 <服务器名称> 表示运行 Windows Server 2012 R2 且具有要访问的 CA 的 Web 服务器的名称。

  3. 单击“ 请求证书”。

  4. 单击“高级证书申请”

  5. 单击“ 创建”并向此 CA 提交请求。

  6. 根据需要提供标识信息。

  7. “名称 ”框中,键入域控制器的完全限定域名。

  8. “所需的证书服务器 ”列表中,单击“ 服务器身份验证证书”。

  9. 在“密钥选项”,设置以下选项:

    • 创建新密钥集
    • CSP:Microsoft RSA SChannel 加密提供程序
    • 密钥用法:Exchange
    • 密钥大小:1024 - 16384
    • 自动密钥容器名称
    • 将证书存储在本地计算机证书存储中
  10. 在“高级选项”,将请求格式设置为 CMC

  11. 属性”框中,键入所需的 SAN 属性。 SAN 属性采用以下形式:

    san:dns=dns.name[&dns=dns.name]

    多个 DNS 名称由与号分隔(&)。 例如,如果域控制器的名称 corpdc1.fabrikam.com 且别名 ldap.fabrikam.com,则必须在 SAN 属性中包含这两个名称。 生成的属性字符串如下所示:

    san:dns=corpdc1.fabrikam.com&dns=ldap.fabrikam.com

  12. 单击“提交” 。

  13. 如果未将 CA 配置为自动颁发证书,则会显示“证书挂起网页,并请求你等待管理员颁发所请求的证书。

    若要检索管理员颁发的证书,请连接到 http://<servername>/certsrv该证书,然后单击“ 检查挂起的证书”。 单击请求的证书,然后单击“ 下一步”。

    如果证书已颁发, 将显示证书颁发的 网页。 单击“ 安装此证书 ”以安装证书。

使用Certreq.exe创建和提交包含 SAN 的证书请求

若要使用 Certreq.exe 实用工具创建和提交证书请求,请执行以下步骤:

  1. 创建一个指定证书请求设置的 .inf 文件。 若要创建 .inf 文件,可以使用“如何使用自定义使用者可选名称请求证书”部分中的“创建 RequestPolicy.inf 文件”部分中的示例代码

    SAN 可以包含在 [扩展] 部分中。 有关示例,请参阅示例 .inf 文件。

  2. 将文件另存为 Request.inf。

  3. 打开命令提示符。

  4. 在命令提示符下,键入以下命令,然后按 Enter:

    certreq -new request.inf certnew.req
    

    此命令使用 Request.inf 文件中的信息以 .inf 文件中 RequestType 值指定的格式创建请求。 创建请求时,将自动生成公钥和私钥对,然后将请求对象放入本地计算机上的注册请求存储中。

  5. 在命令提示符下,键入以下命令,然后按 Enter:

    certreq -submit certnew.req certnew.cer
    

    此命令将证书请求提交到 CA。 如果环境中有多个 CA, -config 可以在命令行中使用该开关将请求定向到特定的 CA。 如果不使用该 -config 开关,系统会提示你选择应向其提交请求的 CA。

    -config 开关使用以下格式来引用特定的 CA:

    computername\Certification Authority Name

    例如,假设 CA 名称为公司策略 CA1,域名为 corpca1.fabrikam.com。 若要将 certreq 命令与开关一 -config 起使用以指定此 CA,请键入以下命令:

    certreq -submit -config "corpca1.fabrikam.com\Corporate Policy CA1" certnew.req certnew.cer
    

    如果此 CA 是企业 CA,并且提交证书请求的用户具有模板的读取和注册权限,则会提交请求。 颁发的证书保存在Certnew.cer文件中。 如果 CA 是独立的 CA,则证书请求将处于挂起状态,直到 CA 管理员批准该请求。 certreq -submit 命令的输出包含提交的请求的请求 ID 号。 证书获得批准后,即可使用请求 ID 号检索该证书。

  6. 运行以下命令,使用请求 ID 号检索证书:

    certreq -retrieve RequestID certnew.cer
    

    也可以使用此处的 -config 开关从特定 CA 检索证书请求。 -config如果未使用该开关,系统会提示你选择要从中检索证书的 CA。

  7. 在命令提示符下,键入以下命令,然后按 Enter:

    certreq -accept certnew.cer
    

    检索证书后,必须安装它。 此命令将证书导入相应的存储区,然后将证书链接到在步骤 4 中创建的私钥。

将证书请求提交到第三方 CA

如果要将证书请求提交到第三方 CA,请先使用Certreq.exe工具来创建证书请求文件。 然后,可以使用适用于该供应商的任何方法将请求提交到第三方 CA。 第三方 CA 必须能够以 CMC 格式处理证书请求。

注意

大多数供应商将证书请求称为证书签名请求(CSR)。

参考

有关如何将 LDAP 与第三方证书颁发机构一起启用 LDAP 的详细信息,请参阅 如何使用第三方证书颁发机构通过 SSL 启用 LDAP。

有关如何请求具有自定义使用者可选名称的证书的详细信息,请参阅 如何使用自定义使用者可选名称请求证书。

有关如何使用 certutil 任务管理证书颁发机构(CA)的详细信息,请转到以下Microsoft开发人员网络(MSDN)网站: 用于管理证书颁发机构的 Certutil 任务(CA)