配置Microsoft 云 PKI - 自带 CA

本文介绍如何使用自己的证书颁发机构 (CA) 配置Intune Microsoft 云 PKI。 Intune支持的自带 CA (BYOCA) 部署模型允许在云中创建专用发证 CA 并将其定位到本地或专用 CA。 专用 CA 可以由 N+1 CA 层次结构组成。

先决条件

有关如何为Microsoft 云 PKI准备租户的详细信息,包括关键概念和要求,请参阅:

基于角色的访问控制

用于登录Microsoft Intune管理中心的帐户必须有权创建证书颁发机构 (CA) 。 Microsoft Entra Intune管理员 (也称为Intune服务管理员) 帐户具有相应的内置权限来创建 CA。 或者,可以将云 PKI CA 权限分配给管理员用户。 有关详细信息,请参阅 Microsoft Intune 的基于角色的访问控制 (RBAC)

步骤 1:创建颁发 CA 和证书签名请求

在Microsoft Intune管理中心中创建颁发 CA。

  1. 转到“租户管理>云 PKI”,然后选择“创建”。

    Microsoft Intune管理中心云 PKI页面的图像,其中突出显示了创建云 PKI根 CA 的路径。

  2. 对于 “基本信息”,请输入以下属性:

    • 名称:输入 CA 对象的描述性名称。 为它命名,以便稍后可以轻松识别它。 示例: Contoso BYOCA 颁发 CA
    • 说明:输入 CA 对象的说明。 此设置是可选的,但建议进行。 示例:云 PKI使用将定位到本地 ADCS 颁发 CA 来颁发 CA
  3. 选择“ 下一步 ”以继续 执行“配置设置”。

  4. 选择 CA 类型和根 CA 源。

    管理员中心显示用于自带 CA 云 PKI的 CA 类型根 CA 源设置。

    为颁发 CA 配置以下设置:

    • CA 类型:选择 “颁发 CA”。
    • 根 CA 源:选择“ 自带根 CA”。 此设置指定定位发出 CA 的根 CA 源。
  5. 跳过 有效期。 此设置无法进行配置。 用于对 BYOCA 证书签名请求进行签名的 CA 确定有效期。

  6. 对于 “扩展密钥用法”,请选择要使用的 CA 方式。

    “配置设置”选项卡的图像,其中显示了云 PKI的“扩展密钥用法”部分。

    为了防止潜在的安全风险,CA 仅限于选择使用。 选项包括:

    • 类型:选择 CA 的用途。 任何用途 (2.5.29.37.0) 扩展密钥使用不可供使用,因为它过于宽松且存在潜在的安全风险。 有关详细信息,请参阅 使用特权 EKU 编辑过度宽松的证书模板
    • 或者,若要创建自定义扩展密钥用法,请输入名称和对象标识符
  7. “使用者属性”下,输入颁发 CA (CN) 的公用名

    Intune管理中心显示云 PKI主题属性设置。

    可选属性包括:

    • 组织 (O)
    • 组织单位 (OU)
    • 国家/地区 (C)
    • st) (州/省
    • L) (位置

    为了遵守 PKI 标准,Intune对国家/地区强制实施双字符限制。

  8. 在“ 加密”下,输入 密钥大小

    云 PKI配置设置中的密钥大小和算法设置的图像。

    选项包括:

    • RSA-2048

    • RSA-3072

    • RSA-4096

    此设置强制执行在 Intune 中配置设备配置 SCEP 证书配置文件时可以使用的上限密钥大小。 它使你能够选择任何密钥大小(最多为云 PKI颁发 CA 上设置的大小)。 请记住,云 PKI不支持 1024 密钥大小和 SHA-1 哈希。 但是,无需提供哈希算法。 用于对 CSR 进行签名的 CA 决定了哈希算法。

  9. 选择“ 下一步 ”以继续 转到“作用域标记”。

  10. (可选)可以添加范围标记来控制对此 CA 的可见性和访问权限。

  11. 选择“ 下一步 ”继续 查看 + 创建

  12. 查看提供的摘要。 准备好完成所有内容后,选择“ 创建”。

    重要

    创建 CA 后,将无法编辑这些属性。 选择“ 返回 ”以编辑设置,并确保它们正确且满足 PKI 要求。 如果以后需要添加 EKU,则必须创建新的 CA。

  13. 返回到管理中心Microsoft 云 PKI CA 列表。 选择“ 刷新 ”以查看新的 CA。

  14. 选择 CA。 在 “基本信息”下,状态应为“ 需要签名”。

  15. 转到“属性”。

  16. 选择 “下载 CSR”。 等待Intune下载具有 CA 名称的 REQ 格式的文件。 例如: Contoso BYOCA 发出 CA.req

步骤 2:签署证书签名请求

需要专用 CA 才能 (下载的 CSR) 文件对证书签名请求进行签名。 签名 CA 可以是来自专用 CA 的任何层的根 CA 或发出 CA。 可通过两种方式进行签名:

  • 选项 1:使用证书颁发机构 Web 注册,这是 Active Directory 证书服务 (ADCS) 的一项功能。 此选项提供了一个简单的 Web 界面,使你能够执行特定于管理员的任务,例如请求和续订证书。

  • 选项 2:使用 Windows ADCS 命令行工具 certreq.exe 可执行文件。

下表列出了在 BYOCA 部署中使用的证书签名 (OID) 支持的对象标识符。

使用者名称属性 对象标识符
公用名 (CN) OID.2.5.4.3
组织 (O) OID.2.5.4.10
组织单位 (OU) OID.2.5.4.11
L) (位置 OID.2.5.4.7
州 (ST) 或省 OID.2.5.4.8
国家/地区 (C) OID.2.5.4.6
标题 (T) OID.2.5.4.12
序列号 OID.2.5.4.5
Email (E) OID.1.2.840.113549.1.9.1
域组件 (DC) OID.0.9.2342.19200300.100.1.25
Street OID.2.5.4.9
OID.2.5.4.42
Initials OID.2.5.4.43
邮政编码 OID.2.5.4.17
可分辨名称限定符 OID.2.5.4.46

有关证书签名的详细信息,请参阅 CA 提供的帮助文档。

选项 1:证书颁发机构 Web 注册

若要完成这些步骤,请在 Windows 设备上使用 notepad.exe,或在 macOS 上使用等效的程序。

  1. 打开创建颁发 CA 后下载的 REQ 文件。 复制 (CTRL + C) 文件的内容。

  2. 在有权访问运行 CA Web 注册的 Web 主机的设备上打开浏览器。 例如:https://WebSrv_running_CAWebEnrollment/certsrv

  3. 选择“ 请求证书”。

  4. 选择 “高级证书请求”。

  5. 将之前复制的内容粘贴到 “已保存的请求” 区域中。

  6. 对于 “证书模板”,请选择“ 从属证书颁发机构”。

    注意

    必须发布从属 CA 模板,并在对证书进行签名的 CA 上可用。 在设备上打开 certsrv.msc – 证书颁发机构管理控制台以查看可用的证书模板。

  7. 选择“ 提交 ”以继续。

  8. 在“ 颁发的证书”下,选择“ DER 编码 ”或“ Base 4 编码”。 云 PKI支持这两种文件格式。 然后完成以下步骤:

    1. 选择 “下载证书”。 证书文件已下载并保存为 certnew.cer

    2. 选择 “下载证书链”。 下载已签名的证书,包括完整的证书链、根 CA,以及专用 CA 层次结构中的任何中间或颁发 CA 证书。 该文件保存为 certnew.p7b

    Intune要求这两个文件为 BYOCA 云 PKI 启用颁发 CA。

  9. 继续 本文中的上传签名证书以启用 BYOCA 颁发 CA

注意

如果从 2 个不同的工作站使用管理中心和 CA Web 注册控制台,则需要从管理中心工作站复制或访问 2 个认证文件。

选项 2:Windows ADCS 命令行工具

使用 certreq.exe 命令行工具将证书请求提交到 CA,可在其中指定证书模板和对 CA 进行签名。 之前下载的 REQ 文件必须位于运行命令行工具的 Windows 计算机上。

可以在命令行中使用以下语法,通过所选模板提交证书请求并签名 CA:

certreq -submit -attrib "CertificateTemplate:<template_name>" -config "<CA_server_name>\<CA_name>" <request_file> <response_file>

替换 命令中的变量,如下所示:

  1. template_name> 替换为<要使用的证书模板的名称。

  2. CA_server_name><CA_name>分别替换为<要用于签名证书请求的 CA 服务器名称和 CA 的名称。

request_file和<response_file>>不需要<执行任何作。 它们将分别替换为包含证书请求的文件的名称和包含 CA 响应的文件的名称。

以下示例介绍如何使用从属 CA 模板提交证书请求,以及如何对其进行签名。

  • 示例 1:签名 CA ContosoCA 在名为 CA-Server 的服务器上运行。 可以使用以下命令:

    certreq -submit -attrib "CertificateTemplate:SubCA" -config "CA-Server\ContosoCA" certreq.req certnew.cer

  • 示例 2:签名 CA 名为 CaleroCorp SubCA, (在 名为 Win2k16-subCA 的服务器上运行的美国) 。 可以使用以下命令:

    certreq -submit -attrib "CertificateTemplate:SubCA" -config "Win2k16-subCA\CaleroCorp SubCA (US)" "c:\users\bill.CORP\Documents\CC BYORCA Issuing CA2.csr" c:\Users\bill.CORP\CC-BYOCA-IssuingCA-Signed.cer"

  • 示例 3:或者,如果你在没有参数的情况下运行 certreq.exe ,Windows 会提示你先标识 REQ 文件。 此方法使用 Windows UI 来指导你完成签名过程。

除了已签名的证书,还需要专用 CA 的完整密钥链。 完整的密钥链包括根 CA 以及链中的所有中间、颁发或从属 CA。 在命令行工具中使用以下语法将完整密钥链导出到 P7B 文件:

certutil [options] -ca.chain OutCACertChainFile [Index]

从具有 ADCS 网络访问权限的已加入 Windows 域的计算机运行命令。 例如:

certutil -ca.chain c:\temp\fullChain.p7b

若要查看导出的链并验证导出是否发生在 Windows 文件资源管理器中,请执行以下作:

  1. 转到导出文件的路径位置。
  2. 双击文件以将其打开。

在文件中,应会看到完整链,包括根 CA 和中间 CA。

注意

或者,可以使用 certmgr.msccertlm.msc 导出专用 CA 链中每个 CA 的单个公钥。 其中每个文件都有一个 CER 扩展名。

步骤 3:上传已签名证书以启用 BYOCA 颁发 CA

若要完成 BYOCA 云 PKI颁发 CA 签名所需的过程,并使云中的 CA 开始为Intune托管设备颁发证书,必须具备:

  • BYOCA 颁发 CA 的已签名证书。
  • 用于对证书请求进行签名的专用 CA 的完整链。

有关如何完成这些任务(需要继续执行)的信息,请参阅 步骤 2:对证书签名请求进行签名。 这些文件必须在运行 Microsoft Intune 管理中心的同一台计算机上可用。

  1. 返回到管理中心中的云 PKI CA 列表。 选择 CA。 其状态应为 “需要签名”。

  2. 转到 “属性”,然后选择“ 上传已签名证书”。

  3. 上传签名证书 ”窗口随即打开。 在 “上传签名证书 (.cer、.crt 或 .pem) 文件”下,选择“ 浏览”。 选择已签名的证书文件。

  4. “上传一个或多个信任证书链 (.cer.crt .pem 或 .p7b) ”下,拖放文件或选择“ 浏览 ”以在计算机上搜索文件。

  5. 选择“保存”,并在Intune上传证书时等待。 可能需要几分钟时间。

  6. 刷新 CA 列表。 CA 的状态列现在应显示为 “活动”。 根公用名称显示为 “外部根 CA”。

    显示管理中心内新创建的 CA 的图像。

可以在列表中选择 CA 以查看可用属性。 属性包括:

  • 证书吊销列表 (CRL) 分发点 URI。

  • (AIA) URI 访问机构信息。

  • 发出 CA 的云 PKI显示 SCEP URI。 必须将 SCEP URI 复制到每个平台颁发的证书的 SCEP 配置文件中。

    准备好下载 CA 信任公钥时,请选择“ 下载”。

    注意

    BYOCA 颁发 CA 的 AIA 属性由专用 CA 定义,并包含专用 CA 的 AIA 配置定义的属性。 ADCS 使用默认 LDAP AIA 位置。 如果专用 CA 提供 HTTP AIA 位置,BYOCA 属性将显示 HTTP AIA 位置。

步骤 4:创建证书信任配置文件

如果使用定位到专用 CA 的云 PKI BYOCA 颁发 CA,则必须为专用 CA 层次结构中的每个 CA 证书创建Intune受信任的证书配置文件。 此步骤是颁发云 PKI SCEP 证书的每个平台 (Windows、Android、iOS/iPad、macOS) 的要求。 有必要与支持 SCEP 协议的云 PKI证书注册机构建立信任。

有关如何创建配置文件的详细信息,请参阅 受信任的证书配置文件

导出证书

导出的证书用于在Intune为链中的每个 CA 创建受信任的证书配置文件。 如果使用专用 CA,则必须使用其工具将 CA 密钥链导出为带 CER 扩展名的 DER 或 Base 4 编码格式的一组文件。 如果 ADCS 是专用 CA,则可以使用 Windows certutil.exe 命令行工具将 CA 的完整密钥链导出到 .p7b 文件。

从具有 ADCS 网络访问权限的已加入 Windows 域的计算机运行以下命令。

certutil [options] -ca.chain OutCACertChainFile [Index]

例如:

certutil -ca.chain c:\temp\fullChain.p7b

可以使用 Windows 文件资源管理器查看导出的链。

  1. 转到导出 .p7b 文件的路径位置,然后双击该文件。 应会看到整个链,包括链中的根 CA 和中间 CA。

  2. 右键单击列表中的每个证书。

  3. 选择“ 所有任务>导出”。 以 DER 格式导出受信任的证书。 建议使用 certmgr 实用工具的“ 颁发给 ”列中显示的相同 CA 公用名称来命名导出的证书文件。 通过名称,可以更轻松地在列表中查找根 CA,因为“ 颁发给 ”和“ 颁发者 ”下的公用名称将相同。

为专用根 CA 创建受信任的证书配置文件

使用下载的导出根 CA 文件创建受信任的证书配置文件。 在管理中心中,为目标的每个使用专用 CA 根证书的 OS 平台创建受信任的证书配置文件。

为专用从属 CA 创建受信任的证书配置文件

使用下载的导出的中间文件或颁发 CA 文件创建受信任的证书配置文件。 在管理中心中,针对使用颁发 CA 根证书的目标每个OS 平台创建受信任的证书配置文件。

创建用于颁发 CA 的受信任证书配置文件

提示

若要在 CA 列表中查找 BYOCA CA,请查找具有以下值的 CA:

  • 类型: 发出
  • 根公用名: 外部根 CA
  1. 在管理中心,转到租户管理>云 PKI

  2. 选择云 PKI BYOCA 颁发 CA。

  3. 转到“属性”。

  4. 选择“下载”。 等待颁发 CA 的公钥下载。

  5. 在管理中心中,为要面向的每个 OS 平台 创建受信任的证书配置文件 。 出现提示时,输入下载的公钥。

必须在所有信赖方上安装为 云 PKI BYOCA 下载的颁发 CA 证书。

为下载的公钥提供的文件名基于 CA 中指定的公用名。 如果下载具有.cer或其他已知证书扩展名的文件,某些浏览器(如 Microsoft Edge)会显示警告。 如果收到此警告,请选择“ 保留”。

“下载”提示的图像,其中突出显示了“保留”选项。

步骤 5:创建 SCEP 证书配置文件

注意

只有颁发 CA 和 BYOCA 的 CA 云 PKI可用于向Intune托管设备颁发 SCEP 证书。

为要面向的每个 OS 平台创建 SCEP 证书配置文件,就像为受信任的证书配置文件创建一样。 SCEP 证书配置文件用于从发出 CA 请求叶 客户端身份验证 证书。 这种类型的证书用于基于证书的身份验证方案,例如 Wi-Fi 和 VPN 访问。

  1. 返回到租户管理>云 PKI

  2. 选择具有 颁发 类型的 CA。

  3. 转到“属性”。

  4. SCEP URI 复制到剪贴板。

  5. 在管理中心中,为你面向的每个 OS 平台 创建 SCEP 证书配置文件

  6. 在配置文件的 “根证书”下,链接受信任的证书配置文件。 所选的受信任证书必须是颁发 CA 在 CA 层次结构中定位到的根 CA 证书。

    根证书设置的图像,其中选择了根 CA 证书。

  7. 对于 SCEP 服务器 URL,请粘贴 SCEP URI。 请务必保留字符串 {{CloudPKIFQDN}} 的原样。 Intune在配置文件传递到设备时将此占位符字符串替换为相应的 FQDN。 FQDN 将显示在 *.manage.microsoft.com 命名空间中,该命名空间是核心Intune终结点。 有关Intune终结点的详细信息,请参阅用于Microsoft Intune的网络终结点

  8. 按照以下最佳做法配置剩余设置:

    • 使用者名称格式:确保指定的变量在 Microsoft Entra ID 中的用户或设备对象上可用。 例如,如果此配置文件的目标用户没有电子邮件地址属性,但填写了此配置文件中的电子邮件地址,则不会颁发证书。 SCEP 证书配置文件报表中也会出现错误。

    • 扩展密钥用法:Microsoft 云 PKI不支持“任何用途”选项。

      注意

      请确保在证书颁发机构云 PKI (CA) 上配置了所选的 EKU () 。 如果选择的 EKU 在颁发 CA 云 PKI不存在,则 SCEP 配置文件会出现错误。 并且,不会向设备颁发证书。

    • SCEP 服务器 URL:不要将 NDES/SCEP URL 与颁发 CA SCEP URL 的Microsoft 云 PKI组合在一起。

  9. 分配和查看配置文件。 准备好完成所有内容后,选择“ 创建”。