将使用者可选名称添加到安全 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,请执行以下步骤:
打开 Internet Explorer。
在 Internet Explorer 中,连接到
http://<servername>/certsrv
.注意
占位符 <服务器名称> 表示运行 Windows Server 2003 且具有要访问的 CA 的 Web 服务器的名称。
单击“ 请求证书”。
单击“高级证书申请” 。
单击“ 创建”并向此 CA 提交请求。
在 “证书模板” 列表中,单击“ Web 服务器”。
注意
CA 必须配置为颁发 Web 服务器证书。 如果 CA 尚未配置为颁发 Web 服务器证书,则可能需要将 Web 服务器模板添加到证书颁发机构管理单元中的“证书模板”文件夹中。
根据需要提供标识信息。
在 “名称 ”框中,键入域控制器的完全限定域名。
在“密钥选项”下,设置以下选项:
- 创建新密钥集
- CSP:Microsoft RSA SChannel 加密提供程序
- 密钥用法:Exchange
- 密钥大小:1024 - 16384
- 自动密钥容器名称
- 将证书存储在本地计算机证书存储中
在“高级选项”下,将请求格式设置为 CMC。
在 “ 属性”框中,键入所需的 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
单击“提交” 。
如果看到 证书颁发的 网页,请单击“ 安装此证书”。
使用 Web 注册页将证书请求提交到独立 CA
若要将包含 SAN 的证书请求提交到独立 CA,请执行以下步骤:
打开 Internet Explorer。
在 Internet Explorer 中,连接到
http://<servername>/certsrv
.注意
占位符 <服务器名称> 表示运行 Windows Server 2012 R2 且具有要访问的 CA 的 Web 服务器的名称。
单击“ 请求证书”。
单击“高级证书申请” 。
单击“ 创建”并向此 CA 提交请求。
根据需要提供标识信息。
在 “名称 ”框中,键入域控制器的完全限定域名。
在 “所需的证书服务器 ”列表中,单击“ 服务器身份验证证书”。
在“密钥选项”下,设置以下选项:
- 创建新密钥集
- CSP:Microsoft RSA SChannel 加密提供程序
- 密钥用法:Exchange
- 密钥大小:1024 - 16384
- 自动密钥容器名称
- 将证书存储在本地计算机证书存储中
在“高级选项”下,将请求格式设置为 CMC。
在 “ 属性”框中,键入所需的 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
单击“提交” 。
如果未将 CA 配置为自动颁发证书,则会显示“证书挂起”网页,并请求你等待管理员颁发所请求的证书。
若要检索管理员颁发的证书,请连接到
http://<servername>/certsrv
该证书,然后单击“ 检查挂起的证书”。 单击请求的证书,然后单击“ 下一步”。如果证书已颁发, 将显示证书颁发的 网页。 单击“ 安装此证书 ”以安装证书。
使用Certreq.exe创建和提交包含 SAN 的证书请求
若要使用 Certreq.exe 实用工具创建和提交证书请求,请执行以下步骤:
创建一个指定证书请求设置的 .inf 文件。 若要创建 .inf 文件,可以使用“如何使用自定义使用者可选名称请求证书”部分中的“创建 RequestPolicy.inf 文件”部分中的示例代码。
SAN 可以包含在 [扩展] 部分中。 有关示例,请参阅示例 .inf 文件。
将文件另存为 Request.inf。
打开命令提示符。
在命令提示符下,键入以下命令,然后按 Enter:
certreq -new request.inf certnew.req
此命令使用 Request.inf 文件中的信息以 .inf 文件中 RequestType 值指定的格式创建请求。 创建请求时,将自动生成公钥和私钥对,然后将请求对象放入本地计算机上的注册请求存储中。
在命令提示符下,键入以下命令,然后按 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 号检索该证书。
运行以下命令,使用请求 ID 号检索证书:
certreq -retrieve RequestID certnew.cer
也可以使用此处的
-config
开关从特定 CA 检索证书请求。-config
如果未使用该开关,系统会提示你选择要从中检索证书的 CA。在命令提示符下,键入以下命令,然后按 Enter:
certreq -accept certnew.cer
检索证书后,必须安装它。 此命令将证书导入相应的存储区,然后将证书链接到在步骤 4 中创建的私钥。
将证书请求提交到第三方 CA
如果要将证书请求提交到第三方 CA,请先使用Certreq.exe工具来创建证书请求文件。 然后,可以使用适用于该供应商的任何方法将请求提交到第三方 CA。 第三方 CA 必须能够以 CMC 格式处理证书请求。
注意
大多数供应商将证书请求称为证书签名请求(CSR)。
参考
有关如何将 LDAP 与第三方证书颁发机构一起启用 LDAP 的详细信息,请参阅 如何使用第三方证书颁发机构通过 SSL 启用 LDAP。
有关如何请求具有自定义使用者可选名称的证书的详细信息,请参阅 如何使用自定义使用者可选名称请求证书。
有关如何使用 certutil 任务管理证书颁发机构(CA)的详细信息,请转到以下Microsoft开发人员网络(MSDN)网站: 用于管理证书颁发机构的 Certutil 任务(CA)