在 Intune 中配置和使用 PKCS 证书

Intune 支持使用私钥和公钥对 (PKCS) 证书。 本文回顾了具有Intune的 PKCS 证书的要求,包括导出 PKCS 证书,然后将其添加到Intune设备配置文件。

Microsoft Intune 包括内置的设置来使用 PKCS 证书对组织资源进行访问和身份验证。 证书用于进行身份验证并保证用户安全访问公司资源(例如 VPN 或 WiFi 网络)。 使用 Intune 中的设备配置配置文件,将这些设置部署到设备。

有关使用导入的 PKCS 证书的信息,请参阅导入的 PFX 证书

提示

Windows 企业版多会话远程桌面支持 PKCS 证书配置文件。

要求

若要将 PKCS 证书与Intune配合使用,需要以下基础结构:

  • Active Directory 域:此部分中列出的所有服务器都必须加入 Active Directory 域。

    有关安装和配置 Active Directory 域服务 (AD DS) 的详细信息,请参阅 AD DS 设计和规划

  • 证书颁发机构: (CA) 的企业证书颁发机构。

    有关安装和配置 Active Directory 证书服务 (AD CS) 的信息,请参阅 Active Directory 证书服务分步指南

    警告

    Intune 要求在企业证书颁发机构 (CA) 而非独立 CA 中运行 AD CS。

  • 客户端:连接到企业 CA。

  • 根证书:从企业 CA 导出的根证书副本。

  • 用于Microsoft Intune的证书连接器:有关证书连接器的信息,请参阅:

从企业 CA 中导出根证书

要使用 VPN、WiFi 或其他资源对设备进行身份验证,设备需要根证书或中间 CA 证书。 以下步骤介绍如何从企业 CA 中获取所需的证书。

使用命令行完成以下步骤:

  1. 使用管理员帐户登录到根证书颁发机构服务器。

  2. 转到“开始运行”>,然后输入 Cmd 打开命令提示符。

  3. 输入 certutil -ca.cert ca_name.cer ,将根证书导出为名为 ca_name.cer 的文件。

在 CA 上配置证书模板

  1. 使用具有管理权限的帐户登录到企业 CA。

  2. 打开“证书颁发机构”控制台,右键单击“证书模板”,然后选择“管理”。

  3. 找到“用户”证书模板,右键单击该模板,然后选择“复制模板”以打开“新建模板的属性面板”

    注意

    对于 S/MIME 电子邮件签名和加密方案,许多管理员使用单独的证书进行签名和加密。 如果使用 Microsoft Active Directory 证书服务,则针对 S/MIME 电子邮件签名证书可使用“仅 Exchange 签名”模板,针对 S/MIME 加密证书可使用“Exchange 用户”模板。 如果使用非Microsoft证书颁发机构,我们建议查看其指南来设置签名和加密模板。

  4. 在“兼容性”选项卡上:

    • 将“证书颁发机构”设置为“Windows Server 2008 R2
    • 将“证书接收人”设置为“Windows 7 / Server 2008 R2
  5. 在"常规"选项卡:

    • 模板显示名称 设置为对你有意义的内容。
    • 取消选择 Active Directory 中的“发布证书”。

    警告

    默认情况下,“模板名称”与“模板显示名称”相同,不包含空格。 请记下模板名称,因为稍后需要它。

  6. 在“请求处理”中,选择“允许导出私钥”。

    注意

    与 SCEP 不同,使用 PKCS 时,系统在安装了连接器的服务器上而不是在设备上生成证书私钥。 证书模板必须允许导出私钥,以便证书连接器能够导出 PFX 证书并将其发送到设备。

    在设备上安装证书后,私钥将标记为不可导出。

  7. 在“加密”处,确认将“最小密钥大小”设置为 2048。

    Windows 和 Android 设备支持将 4096 位密钥大小与 PKCS 证书配置文件配合使用。 若要使用此密钥大小,请将值调整为 4096。

    注意

    对于 Windows 设备,仅软件密钥存储提供程序 (KSP) 支持 4096 位密钥存储。 以下功能不支持存储此大小的密钥:

    • 硬件 TPM (受信任的平台模块) :作为一种解决方法,可以使用软件 KSP 进行密钥存储。
    • Windows Hello 企业版:目前没有Windows Hello 企业版的解决方法。
  8. 在“使用者名称”处,选择“在请求中提供”

  9. “扩展”中的“应用程序策略”下,确认看到“加密文件系统”、“保护Email”和“客户端身份验证”。

    重要

    对于 iOS/iPadOS 证书模板,请转到“ 扩展 ”选项卡,更新 “密钥用法”,然后取消选择“ 签名是源证明”。

  10. 安全性中

    1. 为安装用于Microsoft Intune的证书连接器的服务器添加计算机帐户。 允许该帐户具有读取注册权限。
    2. (可选但建议) 从此模板允许权限的组或用户名列表中删除域用户组。 删除组:
      1. 选择 “域用户组 ”。
      2. 选择“ 删除”。
      3. 查看组或用户名下的其他条目,以确认对环境的权限和适用性。
  11. 选择“应用”>“确认”以保存证书模板。 关闭“证书模板控制台”。

  12. 证书颁发机构 控制台中,右键单击“ 证书模板”。

  13. 选择要颁发的 “新建>证书模板”。

  14. 选择在先前步骤中创建的模板。 选择“确定”。

  15. 允许服务器管理已注册设备和用户的证书:

    1. 右键单击证书颁发机构,然后选择 “属性”。
    2. 在“安全”选项卡上,添加运行连接器的服务器的计算机帐户。
    3. 向计算机帐户授予 “颁发和管理证书 ”和“ 请求证书 ”权限。
  16. 注销企业 CA。

下载、安装并配置 Microsoft Intune 证书连接器

有关指导,请参阅安装并配置 Microsoft Intune 证书连接器

创建受信任的证书配置文件

  1. 登录到 Microsoft Intune 管理中心

  2. 选择并转到 “设备>管理设备>”“配置>创建”。

  3. 输入以下属性:

    • 平台:选择接收此配置文件的设备的平台。
      • Android 设备管理员
      • Android Enterprise:
        • 完全托管
        • Dedicated
        • 公司拥有的工作配置文件
        • 个人拥有的工作配置文件
      • iOS/iPadOS
      • macOS
      • Windows 10/11
    • 配置文件:选择“受信任的证书”。 或者,选择“模板”>“受信任的证书”
  4. 选择“创建”。

  5. 在“基本信息”中,输入以下属性:

    • 名称:输入配置文件的描述性名称。 为配置文件命名,以便稍后可以轻松地识别它们。 例如,配置文件名称最好是“整个公司的受信任证书配置文件”。
    • 说明:输入配置文件的说明。 此设置是可选的,但建议进行。
  6. 选择 下一步

  7. 配置设置中,为之前导出的根 CA 证书指定 .cer 文件。

    注意

    能否为证书选择“目标存储区”取决于步骤 3 中所选的平台。

    创建配置文件并上传受信任的证书

  8. 选择 下一步

  9. “分配”中,选择要包含在分配中的用户或设备组。 部署配置文件后,这些组会收到该配置文件。 有关更详细的信息,请参阅在 Microsoft Intune 中创建筛选器,并通过选择“编辑筛选器”来应用筛选器。

    计划将此证书配置文件部署到接收的相同组:

    • PKCS 证书配置文件和

    • 配置文件,例如使用证书的 Wi-Fi 配置文件。

    有关分配配置文件的详细信息,请参阅 分配用户和设备配置文件

    选择 下一步

  10. 仅适用于 Windows 10/11)在“适用性规则”中,指定适用性规则以优化此配置文件的分配。 可以根据操作系统版本或设备版本来选择是否分配配置文件。

    有关详细信息,请参阅“在 Microsoft Intune 中创建设备配置文件”中的适用性规则

  11. 在“查看并创建”中查看设置。 选择“创建”时,将保存所做的更改并分配配置文件。 该策略也会显示在配置文件列表中。

创建 PKCS 证书配置文件

重要

Microsoft Intune已于 2024 年 12 月 31 日终止对有权访问 Google 移动服务 (GMS) 的设备上的 Android 设备管理员管理支持。 在此日期之后,设备注册、技术支持、bug 修复和安全修复将不可用。 如果当前使用设备管理员管理,建议在支持结束之前切换到 Intune 中的另一个 Android 管理选项。 有关详细信息,请参阅 在 GMS 设备上结束对 Android 设备管理员的支持

  1. 登录到 Microsoft Intune 管理中心

  2. 选择并转到 “设备>管理设备>”“配置>创建”。

  3. 输入以下属性:

    • 平台:选择设备平台。 选项包括:
      • Android 设备管理员
      • Android Enterprise:
        • 完全托管
        • Dedicated
        • 公司拥有的工作配置文件
        • 个人拥有的工作配置文件
      • iOS/iPadOS
      • macOS
      • Windows 10/11
    • 配置文件:选择“PKCS 证书”。 或者,选择“模板”>“PKCS 证书”。

    注意

    在应用了 Android Enterprise 配置文件的设备上,使用 PKCS 证书配置文件安装的证书在设备上不可见。 若要确认证书部署成功,请在Intune管理中心检查配置文件的状态。

  4. 选择“创建”。

  5. 在“基本信息”中,输入以下属性:

    • 名称:输入配置文件的描述性名称。 为配置文件命名,以便稍后可以轻松地识别它们。 例如,配置文件名称最好是“整个公司的 PKCS 配置文件”。
    • 说明:输入配置文件的说明。 此设置是可选的,但建议进行。
  6. 选择 下一步

  7. 在“配置设置”中,根据所选择的平台,可配置的设置有所不同。 选择平台,进行详细设置:

    • Android 设备管理员
    • Android Enterprise
    • iOS/iPadOS
    • Windows 10/11
    Setting 平台 详细信息
    续订阈值 (%)
    • 全部
    建议设为 20%
    证书有效期
    • 全部
    如果未更改证书模板,此选项可能设置为一年。

    使用 5 天或最长 24 个月的有效期。 当有效期少于五天时,证书很可能进入即将过期或已过期状态,这可能导致设备上的 MDM 代理在安装证书之前拒绝证书。
    密钥存储提供程序 (KSP)
    • Windows 10/11
    对于 Windows,请选择在设备上存储密钥的位置。
    证书颁发机构
    • 全部
    显示企业 CA 的内部完全限定的域名 (FQDN)。
    证书颁发机构名称
    • 所有
    Lists企业 CA 的名称,例如“Contoso 证书颁发机构”。
    证书模板名称
    • 全部
    列出证书模板的名称。
    证书类型
    • Android Enterprise(公司拥有和个人拥有的工作配置文件
    • iOS
    • macOS
    • Windows 10/11
    选择一个类型:
    • 用户证书可在证书使用者和使用者可选名称 (SAN) 中同时包含用户和设备属性。
    • 设备”证书只能在证书主题和 SAN 中包含设备属性。 设备适用于无用户设备(例如网亭或其他共享设备)的情况。

      此选择影响使用者名称格式。
    使用者名称格式
    • 所有
    有关如何配置使用者名称格式的详细信息,请参阅本文后面的使用者名称格式

    对于以下平台,使用者名称格式由证书类型决定:
    • Android Enterprise(工作配置文件
    • iOS
    • macOS
    • Windows 10/11

    使用者替代名称
    • 全部
    对于“属性”,除非需要,请选择“用户主体名称(UPN)”,否则请配置相应的“值”,然后选择“添加”

    对于这两种证书类型的 SAN,可以使用变量或静态文本。 变量的使用不是必需的。

    有关详细信息,请参阅本文后面的使用者名称格式
    扩展密钥用法
    • Android 设备管理员
    • Android Enterprise(设备所有者公司拥有和个人拥有的工作配置文件
    • Windows 10/11
    证书通常需要“客户端身份验证”,以便用户或设备能够对服务器进行身份验证。
    允许所有应用访问私钥
    • macOS
    设置为启用为关联的 mac 设备配置的应用授予对 PKCS 证书私钥的访问权限。

    有关此设置的详细信息,请参阅 Apple 开发人员文档中配置文件参考中的 AllowAllAppsAccess 证书有效负载部分
    根证书
    • Android 设备管理员
    • Android Enterprise(设备所有者,公司拥有和个人拥有的工作配置文件
    选择以前分配的根 CA 证书配置文件。
  8. 此步骤仅适用于完全托管、专用和 Corporate-Owned 工作配置文件Android Enterprise 设备配置文件。

    “应用”中,配置 “证书访问权限 ”以管理向应用程序授予证书访问权限的方式。 从以下项中进行选择:

    • 要求用户批准 (默认) 的应用 – 用户必须批准所有应用程序使用证书。
    • 以无提示方式为特定应用授予 (要求用户批准其他应用) – 使用此选项,选择“ 添加应用”。 然后选择应在无用户交互的情况下以无提示方式使用该证书的所有应用。
  9. 选择 下一步

  10. “分配”中,选择要包括在分配中的用户和组。 部署配置文件后,用户和组会收到该配置文件。 计划将此证书配置文件部署到接收的相同组:

  • 受信任的证书配置文件和

  • 配置文件,例如使用证书的 Wi-Fi 配置文件。

有关分配配置文件的详细信息,请参阅 分配用户和设备配置文件

  1. 选择 下一步

  2. “查看并创建”中查看设置。 选择“创建”时,将保存所做的更改并分配配置文件。 该策略也会显示在配置文件列表中。

使用者名称格式

为以下平台创建 PKCS 证书配置文件时,使用者名称格式的选项取决于所选的证书类型,即“用户”或“设备”

平台:

  • Android Enterprise(公司拥有和个人拥有的工作配置文件
  • iOS
  • macOS
  • windows 10/11

注意

当生成的证书签名请求中的使用者名称 (CSR) 包含以下字符之一作为转义字符 (反斜杠 \) 进行时,使用 PKCS 获取证书时,存在 与 SCEP 相同的问题

  • +
  • ;
  • ,
  • =

注意

从 Android 12 开始,Android 不再支持将以下硬件标识符用于个人拥有的工作配置文件设备:

  • 序列号
  • IMEI
  • MEID

对于依赖于使用者名称或 SAN 中的这些变量的个人拥有工作配置文件设备的 Intune 证书配置文件,在 Intune 中注册设备时,将无法在运行 Android 12 或更高版本的设备上预配证书。 在升级到 Android 12 之前注册的设备仍然可以接收证书,只要 Intune 之前获得了设备硬件标识符。

有关这一点和 Android 12 引入的其他更改的详细信息,请参阅对 Microsoft Endpoint Manager 的 Android 零时差支持博客文章。

  • “用户”证书类型
    使用者名称格式的格式选项包括两个变量:公用名 (CN)电子邮件 (E)。 电子邮件 (E) 通常与 {{EmailAddress}} 变量一起设置。 例如:E={{EmailAddress}}

    可将“公用名(CN)”设置为以下任何变量:

    • CN={{UserName}}:用户的用户名,例如 Jane Doe

    • CN={{UserPrincipalName}}:用户的用户主体名称,例如 janedoe@contoso.com。

    • CN={{AAD_Device_ID}}:在 Microsoft Entra ID 中注册设备时分配的 ID。 此 ID 通常用于通过 Microsoft Entra ID 进行身份验证。

    • CN={{DeviceId}}:在 Intune 中注册设备时分配的 ID。

    • CN={{SERIALNUMBER}}:制造商通常用于标识设备的唯一序列号 (SN)。

    • CN={{IMEINumber}}:用于标识移动电话的国际移动设备标识 (IMEI)。

    • CN={{OnPrem_Distinguished_Name}}:用逗号分隔的一系列相对可分辨名称,如 CN=Jane Doe、OU=UserAccounts、DC=corp、DC=contoso、DC=com

      若要使用 {{OnPrem_Distinguished_Name}} 变量,请务必使用 Microsoft Entra Connectonpremisdistinguishedname 用户属性同步到Microsoft Entra ID。

    • CN={{onPremisesSamAccountName}}:管理员可以使用 Microsoft Entra Connect 连接到名为 onPremisesSamAccountName 的属性,将 samAccountName 属性从 Active Directory 同步到Microsoft Entra ID。 Intune 可以将该变量替换为证书使用者中的证书颁发请求的一部分。 samAccountName 属性是指用户登录名,该名称用于支持早期版本的 Windows(Windows 2000 之前)中的客户端和服务器。 用户登录名格式为: DomainName\testUser,或者仅 testUser

      若要使用 {{onPremisesSamAccountName}} 变量,请务必使用 Microsoft Entra Connect 同步 onPremisesSamAccountName 用户属性,以连接到Microsoft Entra ID。

    下面“设备证书类型”部分中列出的所有设备变量也可以在用户证书使用者名称中使用。

    通过将一个或多个以上变量与静态文本字符串组合使用,可以创建自定义使用者名称格式,例如:CN={{UserName}},E={{EmailAddress}},OU=Mobile,O=Finance Group,L=Redmond,ST=Washington,C=US

    该示例包括使用 CN 和 E 变量的主题名称格式,以及组织单位、组织、位置、状态和国家/地区值的字符串。 CertStrToName 函数介绍此函数及其支持的字符串。

    如果设备没有与用户关联(例如,设备注册为 Android Enterprise 专用),则不支持用户属性。 例如,如果设备上没有用户,则在主体或 SAN 中使用 CN={{UserPrincipalName}} 的配置文件将无法获取用户主体名称。

  • “设备”证书类型
    “使用者名称格式”的格式选项包括以下变量:

    • {{AAD_Device_ID}}
    • {{DeviceId}} - Intune 设备 ID
    • {{Device_Serial}}
    • {{Device_IMEI}}
    • {{SerialNumber}}
    • {{IMEINumber}}
    • {{AzureADDeviceId}}
    • {{WiFiMacAddress}}
    • {{IMEI}}
    • {{DeviceName}}
    • {{FullyQualifiedDomainName}} (仅适用于 Windows 和已加入域的设备)
    • {{MEID}}

    可在文本框中指定这些变量,后跟变量的文本。 例如,可以将名为 Device1 的设备的公用名添加为 CN={{DeviceName}}Device1

    重要

    • 指定变量时,请将变量名称括在大括号 { } 中(如示例中所示),以避免出现错误。
    • 在设备证书的使用者或 SAN 中使用的设备属性(例如 IMEI、SerialNumber 和 FullyQualifiedDomainName)可能被有权访问设备的人员仿造
    • 设备必须支持在证书配置文件中为该配置文件指定的所有变量,才能在该设备上安装。 例如,如果在 SCEP 配置文件的使用者名称中使用 {{IMEI}} 并将其分配给没有 IMEI 号码的设备,则配置文件安装将失败。

针对KB5014754要求更新证书连接器

Windows Kerberos 密钥分发中心 (KDC) 要求 Active Directory 证书服务颁发的证书采用强映射格式。 此要求适用于由 Microsoft Intune 部署并用于基于证书的身份验证的 PKCS 证书。 映射必须具有映射到用户或设备 SID 的 SID () 扩展的安全标识符。 如果证书不符合完全强制模式日期设置的新强映射条件,身份验证将被拒绝。 有关要求的详细信息,请参阅 KB5014754:Windows 域控制器上的基于证书的身份验证更改

在 Microsoft Intune 证书连接器版本 6.2406.0.1001 中,我们发布了一个更新,该更新将包含用户或设备 SID 的对象标识符属性添加到证书,从而有效地满足强映射要求。 此更新适用于从本地 Active Directory同步到Microsoft Entra ID的用户和设备,并且适用于所有平台,但存在一些差异:

  • 强映射更改适用于所有 OS 平台 的用户证书

  • 强映射更改适用于Microsoft Entra混合联接的 Windows 设备的设备证书

若要确保基于 certficate 的身份验证继续工作,必须执行以下操作:

  • 将Microsoft Intune证书连接器更新到版本 6.2406.0.1001。 有关最新版本以及如何更新证书连接器的信息,请参阅用于Microsoft Intune的证书连接器
  • 对托管证书连接器的 Windows 服务器上的注册表项信息进行更改。

完成以下过程以修改注册表项,并将强映射更改应用于证书。 这些更改适用于要续订的新 PKCS 证书和 PKCS 证书。

提示

此过程要求修改 Windows 中的注册表。 有关详细信息,请参阅有关Microsoft 支持部门的以下资源:

  1. 在 Windows 注册表中,将 的值 [HKLM\Software\Microsoft\MicrosoftIntune\PFXCertificateConnector](DWORD)EnableSidSecurityExtension 更改为 1

  2. 重启证书连接器服务。

    1. 转到 “开始>运行”。
    2. 打开“services.msc”。
    3. 重启以下服务:
      • PFX 为 Microsoft Intune 创建旧连接器

      • PFX 为 Microsoft Intune 创建证书连接器

  3. 更改开始应用于所有新证书,以及正在续订的证书。 若要验证身份验证是否有效,建议测试可以使用基于证书的身份验证的所有位置,包括:

    • 应用
    • Intune集成证书颁发机构
    • NAC 解决方案
    • 网络基础结构

    回滚更改:

    1. 还原原始注册表设置。

    2. 重启以下服务:

      • PFX 为 Microsoft Intune 创建旧连接器

      • PFX 为 Microsoft Intune 创建证书连接器

    3. 为受影响的设备创建新的 PKCS 证书配置文件,以在没有 SID 属性的情况下重新颁发证书。

      提示

      如果使用 Digicert CA,则必须为具有 SID 的用户创建证书模板,为没有 SID 的用户创建另一个模板。 有关详细信息,请参阅 DigiCert PKI 平台 8.24.1 发行说明

后续步骤