在 Intune 中创建和分配 SCEP 证书配置文件
配置基础结构以支持简单证书注册协议 (SCEP) 证书之后,即可创建 SCEP 证书配置文件,然后将其分配给 Intune 中的用户和设备。
使用 SCEP 证书配置文件的设备必须信任受信任的根证书颁发机构 (CA)。 最好是通过将受信任的证书配置文件部署到接收 SCEP 证书配置文件的组中来建立根 CA 的信任。 受信任的证书配置文件会预配受信任的根 CA 证书。
运行 Android Enterprise 的设备可能需要 PIN,然后 SCEP 才能使用证书对其进行预配。 有关详细信息,请参阅 Android Enterprise 的 PIN 要求。
重要
Microsoft Intune已于 2024 年 12 月 31 日终止对有权访问 Google 移动服务 (GMS) 的设备上的 Android 设备管理员管理支持。 在此日期之后,设备注册、技术支持、bug 修复和安全修复将不可用。 如果当前使用设备管理员管理,建议在支持结束之前切换到 Intune 中的另一个 Android 管理选项。 有关详细信息,请参阅 在 GMS 设备上结束对 Android 设备管理员的支持。
注意
从 Android 11 开始,再也无法将受信任的证书配置文件安装到以 Android 设备管理员身份注册的设备。 此限制不适用于 Samsung Knox。
有关此限制的详细信息,请参阅适用于 Android 设备管理员的受信任的证书配置文件。
重要
2022 年 10 月 22 日,Microsoft Intune 终止了对运行 Windows 8.1 的设备的支持。 这些设备上的技术协助和自动更新不可用。
如果当前使用 Windows 8.1,请移动到 Windows 10/11 设备。 Microsoft Intune具有管理 Windows 10/11 客户端设备的内置安全和设备功能。
提示
Windows 企业版多会话远程桌面支持 SCEP 证书配置文件。
更新证书连接器:KB5014754的强映射要求
适用于:
- Windows 10
- Windows 11
- Android
- iOS
- macOS
密钥分发中心 (KDC) 要求用户或设备对象强映射到 Active Directory 以进行基于证书的身份验证。 这意味着,证书的使用者可选名称 (SAN) 必须包含安全标识符 (SID) 扩展,该扩展映射到 Active Directory 中的用户或设备 SID。 当用户或设备使用 Active Directory 中的证书进行身份验证时,KDC 会检查 SID,以验证证书是否已映射并颁发给正确的用户或设备。 映射要求可防止证书欺骗,并确保针对 KDC 的基于证书的身份验证继续工作。
Microsoft Intune部署的所有证书都需要强映射,并用于针对 KDC 进行基于证书的身份验证。 强映射解决方案适用于所有平台的用户证书。 对于设备证书,它仅适用于Microsoft Entra混合联接的 Windows 设备。 如果这些方案中的证书在完全强制模式日期前不符合强映射要求,身份验证将被拒绝。
若要为通过 Intune 传递的 SCEP 证书实现强映射解决方案,必须在 SCEP 配置文件中将 变量添加到 OnpremisesSecurityIdentifier
SAN。
此变量必须是 URI 属性的一部分。 可以创建新的 SCEP 配置文件或编辑现有配置文件以添加 URI 属性。
将 URI 属性和值添加到证书配置文件后,Microsoft Intune使用 标记和解析的 SID 追加 SAN 属性。 格式示例: tag:microsoft.com,2022-09-14:sid:<value>
此时,证书配置文件满足强映射要求。
若要确保 SCEP 配置文件满足强映射要求,请在 Microsoft Intune 管理中心创建 SCEP 证书配置文件,或使用新的 SAN 属性和值修改现有配置文件。 作为先决条件,必须将用户和设备从 Active Directory 同步到Microsoft Entra ID。 有关详细信息,请参阅如何在Microsoft Entra 域服务托管域中同步对象和凭据。
有关 KDC 强映射的要求和强制实施日期的详细信息,请参阅 KB5014754:Windows 域控制器上的基于证书的身份验证更改 。
创建 SCEP 证书配置文件
选择并转到 “设备>管理设备>”“配置>创建”。
输入以下属性:
平台:选择设备平台。
配置文件:选择“SCEP 证书”。 或者,选择“模板”>“SCEP 证书”。
对于 Android Enterprise,配置文件类型分为以下两类:“公司拥有的完全托管式专用工作配置文件”和“个人拥有的工作配置文件”。 确保为所管理的设备选择正确的 SCEP 证书配置文件。
公司拥有的完全托管式专用工作配置文件的 SCEP 证书配置文件配置文件具有以下限制:
- 在“监视”下,证书报告不适用于 设备所有者 SCEP 证书配置文件。
- 不能使用 Intune 来吊销由设备所有者的 SCEP 证书配置文件预配的证书。 可以通过外部进程或直接通过证书颁发机构来实现撤销。
- 对于 Android Enterprise 专用设备,SCEP 证书配置文件支持 Wi-Fi 网络配置、VPN 以及身份验证。 Android Enterprise 专用设备上的 SCEP 证书配置文件不支持应用身份验证。
对于 Android (AOSP) ,以下限制适用:
- 在“监视”下,证书报告不适用于 设备所有者 SCEP 证书配置文件。
- 不能使用 Intune 来吊销由设备所有者的 SCEP 证书配置文件预配的证书。 可以通过外部进程或直接通过证书颁发机构来实现撤销。
- Wi-Fi 网络配置支持 SCEP 证书配置文件。 VPN 配置文件支持不可用。 将来的更新可能包括对 VPN 配置文件的支持。
- 以下变量不适用于 Android (AOSP) SCEP 证书配置文件。 这些变量的支持将在将来的更新中提供。
- onPremisesSamAccountName
- OnPrem_Distinguished_Name
- 部门
注意
设备所有者 等效于公司拥有的设备。 以下人员被视为设备所有者:
- Android Enterprise - 完全托管、专用和 Corporate-Owned 工作配置文件
- Android AOSP
- 用户相关性
- 无用户
选择“创建”。
在“基本信息”中,输入以下属性:
- 名称:输入配置文件的描述性名称。 为配置文件命名,以便稍后可以轻松地识别它们。 例如,配置文件名称最好是“整个公司的 SCEP 配置文件”。
- 说明:输入配置文件的说明。 此设置是可选的,但建议进行。
选择 下一步。
在“配置设置”中,然后完成以下配置:
部署通道:选择要部署配置文件的方式。 此设置还确定链接证书的存储位置密钥链,因此请务必选择正确的通道。
始终使用用户证书在配置文件中选择用户部署通道。 用户通道将证书存储在用户密钥链中。 始终在具有设备证书的配置文件中选择设备部署通道。 设备通道将证书存储在系统密钥链中。
部署配置文件后,无法编辑部署通道。 必须创建新的配置文件才能选择其他通道。
证书类型:
(适用范围:Android、Android Enterprise、Android (AOSP) 、iOS/iPadOS、macOS、Windows 8.1 和 Windows 10/11)
根据计划使用证书配置文件的方式选择类型:
用户:“用户”证书可在证书使用者和 SAN 中同时包含用户和设备属性。
设备: 设备 证书只能包含证书的主题和 SAN 中的设备属性。
“设备”适用于无用户设备的情况(如展台)或 Windows 设备。 在 Windows 设备上,证书位于本地计算机证书存储中。
对于 macOS,如果此配置文件配置为使用设备部署通道,则可以选择“ 用户 ”或“ 设备”。 如果配置文件配置为使用用户部署通道,则只能选择 “用户”。
注意
SCEP 预配的证书存储:
macOS - 使用 SCEP 预配的证书始终放置在系统密钥链 (也称为系统存储或设备密钥链) 设备中,除非选择用户部署通道。
Android -设备包含 VPN 和应用证书存储,以及 WIFI 证书存储。 Intune 始终将 SCEP 证书存储在设备上的 VPN 和应用商店中。 使用 VPN 和应用商店会使证书可供任何其他应用使用。
但是,如果 SCEP 证书还与 Wi-Fi 配置文件关联,Intune 还会在 Wi-Fi 存储中安装证书。
为 VPN 应用配置时,系统会提示用户选择正确的证书。 不支持对完全托管 (或 BYOD 方案进行无提示证书审批) 。 如果一切设置正确,则应已在对话框中预选正确的证书。
使用者名称格式:
输入文本来指示 Intune 如何在证书请求中自动创建使用者名称。 使用者名称格式的选项取决于所选的证书类型,即“用户”或“设备”。
提示
如果使用者名称的长度超过 64 个字符,你可能需要禁用内部证书颁发机构上的名称长度强制。 有关详细信息,请参阅禁用 DN 长度强制
注意
从 Android 12 开始,Android 不再支持对 个人拥有的工作配置文件 设备使用以下硬件标识符:
- 序列号
- IMEI
- MEID
Intune个人拥有的工作配置文件设备(在使用者名称或 SAN 中依赖于这些变量)的证书配置文件将无法在设备注册Intune时在运行 Android 12 或更高版本的设备上预配证书。 在升级到 Android 12 之前注册的设备仍然可以接收证书,只要 Intune 之前获得了设备硬件标识符。
有关这一点和 Android 12 引入的其他更改的详细信息,请参阅对 Microsoft Endpoint Manager 的 Android 零时差支持博客文章。
“用户”证书类型
使用文本框来输入自定义使用者名称格式,包括静态文本和变量。 支持两个变量选项:公用名(CN) 和电子邮件(E)。
“电子邮件(E)”通常与 {{EmailAddress}} 变量一起设置。 例如 :E={{EmailAddress}}
可将“公用名(CN)”设置为以下任何变量:
- CN={{UserName}}:用户的用户名,例如 janedoe。
- CN={{UserPrincipalName}}:用户的用户主体名称,例如 janedoe@contoso.com。
- CN={{AAD_Device_ID}}:在 Microsoft Entra ID 中注册设备时分配的 ID。 此 ID 通常用于通过 Microsoft Entra ID 进行身份验证。
- CN={{DeviceId}}:在 Intune 中注册设备时分配的 ID。
注意
避免在 Windows 设备上将 {{DeviceId}} 用于使用者名称。 在某些情况下,使用此使用者名称生成的证书会导致与Intune同步失败。
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 Connect 将 onpremisdistinguishedname 用户属性同步到Microsoft Entra ID。
- 如果 CN 值包含逗号,则使用者名称格式必须用引号引起来。 例如:CN="{{OnPrem_Distinguished_Name}}"
CN={{OnPremisesSamAccountName}}:管理员可以使用 Microsoft Entra Connect 连接到名为 onPremisesSamAccountName 的属性,将 samAccountName 属性从 Active Directory 同步到Microsoft Entra ID。 Intune 可以将该变量替换为证书使用者中的证书颁发请求的一部分。 samAccountName 属性是指用户登录名,该名称用于支持早期版本的 Windows(Windows 2000 之前)中的客户端和服务器。 用户登录名格式为: DomainName\testUser,或者仅 testUser。
若要使用 {{OnPremisesSamAccountName}} 变量,请确保使用 Microsoft Entra Connect 与Microsoft Entra ID同步 OnPremisesSamAccountName 用户属性。
下面“设备证书类型”部分中列出的所有设备变量也可以在用户证书使用者名称中使用。
通过将一个或多个以上变量与静态文本字符串组合使用,可以创建自定义使用者名称格式,例如: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}} 或 {{AzureADDeviceId}} - 任一变量都可用于按设备Microsoft Entra ID标识设备。
- {{DeviceId}} - Intune 设备 ID
- {{Device_Serial}}
- {{Device_IMEI}}
- {{SerialNumber}}
- {{IMEINumber}}
- {{WiFiMacAddress}}
- {{IMEI}}
- {{DeviceName}}
- {{FullyQualifiedDomainName}} (仅适用于 Windows 和已加入域的设备)
- {{MEID}}
可以在文本框中指定这些变量和静态文本。 例如,可以将名为 Device1 的设备的公用名添加为 CN={{DeviceName}}Device1。
重要
- 指定变量时,将变量名用双花括号 ({{ }}) 括起来(如示例中所示),以避免出错。
- 在设备证书的使用者或 SAN 中使用的设备属性(例如 IMEI、SerialNumber 和 FullyQualifiedDomainName)可能被有权访问设备的人员仿造。
- 设备必须支持在证书配置文件中为该配置文件指定的所有变量,才能在该设备上安装。 例如,如果在 SCEP 配置文件的使用者名称中使用 {{IMEI}} 并将其分配给没有 IMEI 号码的设备,则配置文件安装将失败。
使用者可选名称:
在证书请求中配置使用者可选名称 (SAN) 。 可以输入多个使用者可选名称。 文本值可以包含属性的变量和静态文本。注意
以下 Android 企业配置文件不支持对 SAN 使用 {{UserName}} 变量:
- 完全托管、专用和 Corporate-Owned 工作配置文件
从可用 SAN 属性中选择:
- 电子邮件地址
- 用户主体名称 (UPN)
- DNS
- 统一资源标识符 (URI)
选择的证书类型决定了 SAN 变量。
注意
从 Android 12 开始,Android 不再支持对 个人拥有的工作配置文件 设备使用以下硬件标识符:
- 序列号
- IMEI
- MEID
Intune个人拥有的工作配置文件设备(在使用者名称或 SAN 中依赖于这些变量)的证书配置文件将无法在设备注册Intune时在运行 Android 12 或更高版本的设备上预配证书。 在升级到 Android 12 之前注册的设备仍然可以接收证书,只要 Intune 之前获得了设备硬件标识符。
有关这一点和 Android 12 引入的其他更改的详细信息,请参阅对 Microsoft Endpoint Manager 的 Android 零时差支持博客文章。
“用户”证书类型
使用 用户 证书类型时,可以使用上述使用者名称部分所述的任何用户或设备证书变量。
例如,用户证书类型可以在使用者可选名称中包含用户主体名称 (UPN)。 如果使用客户端证书向“网络策略服务器”进行身份验证,则要将使用者可选名称设置为 UPN。
Microsoft Intune还支持 OnPremisesSecurityIdentifier,该变量符合密钥分发中心的 (KDC) 基于证书的身份验证的强映射要求。 应将 变量添加到通过 KDC 进行身份验证的用户证书。 可以将变量(格式为 {{OnPremisesSecurityIdentifier}})添加到Microsoft Intune管理中心的新配置文件和现有配置文件。 macOS、iOS 和 Windows 10/11 的用户证书支持此变量,并且仅适用于 URI 属性。
“设备”证书类型
使用 设备 证书类型时,可以使用“ 使用者名称”的“设备证书类型 ”部分中所述的任何变量。
要为属性指定一个值,请用大括号将变量名称括起来,后跟该变量的文本。 例如,可以为 DNS 属性添加一个值 {{AzureADDeviceId}}.domain.com,其中 .domain.com 是文本。 对于名为 User1 的用户,Email地址可能显示为 {{FullyQualifiedDomainName}}User1@Contoso.com。
通过使用其中一个或多个变量和静态文本字符串的组合,可以创建自定义使用者可选名称格式,例如 {{UserName}}-Home。
Microsoft Intune还支持 OnPremisesSecurityIdentifier,该变量符合密钥分发中心的 (KDC) 基于证书的身份验证的强映射要求。 应将 变量添加到使用 KDC 进行身份验证的设备证书。 可以将变量(格式为 {{OnPremisesSecurityIdentifier}})添加到Microsoft Intune管理中心的新配置文件和现有配置文件。 Microsoft Entra混合联接的设备的设备证书中支持此变量,并且仅适用于 URI 属性。
重要
- 使用设备证书变量时,将变量名用双花括号 ({{ }}) 括起来。
- 请勿在变量后面的文本中使用大括号“{ }”、竖线符号“|”以及分号“;”。
- 在设备证书的使用者或 SAN 中使用的设备属性(例如 IMEI、SerialNumber 和 FullyQualifiedDomainName)可能被有权访问设备的人员仿造。
- 设备必须支持在证书配置文件中为该配置文件指定的所有变量,才能在该设备上安装。 例如,如果在 SCEP 配置文件的 SAN 中使用 {{IMEI}} 并将其分配给没有 IMEI 号码的设备,则配置文件安装将失败。
证书有效期:
可以在证书模板中输入低于(但不能高于)有效期的值。 如果将证书模板配置为支持可在 Intune 管理中心内设置的自定义值,请使用此设置指定证书过期前的剩余时间量。
Intune 支持的有效期最长为 24 个月。
例如,如果证书模板中的证书有效期为 2 年,则输入值可以为 1 年,但不能为 5 年。 该值还必须小于发证 CA 证书的剩余有效期。
计划使用 5 天或更长的有效期。 当有效期少于五天时,证书很可能进入即将过期或已过期状态,这可能导致设备上的 MDM 代理在安装证书之前拒绝证书。
密钥存储提供程序 (KSP):
(适用范围:Windows 8.1 和 Windows 10/11)
指定存储证书密钥的位置。 从下面的值中进行选择:
- 注册到受信任的平台模块(TPM) KSP (若有); 否则,注册到软件 KSP
- 注册到受信任的平台模块(TPM) KSP,否则失败
- 注册到 Windows Hello 企业版,否则会失败(Windows 10 和更高版本)
- 注册到软件 KSP
密钥用法:
选择证书的密钥用法选项:
- 数字签名:仅在数字签名帮助保护密钥时允许交换密钥。
- 密钥加密:仅在密钥加密时允许交换密钥。
密钥大小(位):
选择密钥中包含的位数:
未配置
1024
2048
4096 - 以下平台支持密钥大小为 4096:
- Android (所有)
- iOS/iPadOS 14 及更高版本
- macOS 11 及更高版本
- Windows (所有)
注意
对于 Windows 设备,仅 软件密钥存储提供程序 (KSP) 支持 4096 位密钥存储。 以下项不支持存储此大小的密钥:
- 硬件 TPM (受信任的平台模块) 。 解决方法是使用软件 KSP 进行密钥存储。
- Windows Hello 企业版。 目前没有针对Windows Hello 企业版的解决方法。
哈希算法:
(适用于 Android、Android (AOSP) 、Android enterprise、Windows 8.1 和 Windows 10/11)
选择要与此证书一起使用的可用哈希算法类型之一。 选择连接设备支持的最高级别安全性。
注意:Android AOSP 和 Android Enterprise 设备将选择支持的最强算法 - SHA-1 将被忽略,将改用 SHA-2。
根证书:
选择受信任的证书配置文件,该配置文件是之前被配置并分配给此 SCEP 证书配置文件的适用用户和设备。 受信任的证书配置文件用于预配具有受信任的根 CA 证书的用户和设备。 有关受信任证书配置文件的信息,请参阅“在 Intune 中使用证书进行身份验证”中的导出受信任的 CA 证书和创建受信任的证书配置文件。
注意
如果有多级别 PKI 基础结构(如根证书颁发机构和证书发证机构),请选择验证证书发证机构的顶级受信任的根证书配置文件。
扩展密钥用法:
为证书的预期目的添加值。 大多数情况下,证书需要“客户端身份验证”以便用户或设备能够向服务器进行验证。 可根据需要添加其他密钥用法。
续订阈值(%):
输入设备请求证书续订之前剩余的证书有效期限的百分比。 例如,如果输入“20”,将在证书的有效期限已使用 80% 时尝试续订证书。 将持续尝试续订,直到续订成功。 续订会生成新的证书,从而生成新的公钥/私钥对。
注意
iOS/iPadOS 和 macOS 上的续订行为:只能在续订阈值阶段续订证书。 此外,设备必须在与Intune同步时解锁。 如果续订不成功,过期的证书将保留在设备上,Intune不再触发续订。 此外,Intune不提供重新部署过期证书的选项。 需要暂时从 SCEP 配置文件中排除受影响的设备,以删除过期的证书并请求新证书。
SCEP 服务器 URL:
为通过 SCEP 颁发证书的 NDES 服务器输入一个或多个 URL。 例如,输入类似于
https://ndes.contoso.com/certsrv/mscep/mscep.dll
的内容。若要允许 Internet 上的设备获取证书,必须指定企业网络外部的 NDES URL。
URL 可以是 HTTP 或 HTTPS。 但是,若要支持以下设备,SCEP 服务器 URL 必须使用 HTTPS:- Android 设备管理员
- Android Enterprise 设备所有者
- Android Enterprise 公司拥有的工作配置文件
- Android Enterprise 个人拥有的工作配置文件
你可以根据需要添加其他 SCEP URL 进行负载均衡。 设备分别对 NDES 服务器进行三次调用。 首先是为了获取服务器功能、获取公钥,然后是为了提交签名请求。 使用多个 URL 时,负载均衡可能会导致对 NDES 服务器的后续调用使用不同的 URL。 如果在同一请求期间联系其他服务器进行后续调用,则该请求将失败。
管理 NDES 服务器 URL 的行为特定于每个设备平台:
- Android:设备会随机排列在 SCEP 策略中接收到的 URL 列表,然后遍历该列表,直到找到可访问的 NDES 服务器。 然后设备在整个过程中继续使用相同的 URL 和服务器。 如果设备无法访问任何 NDES 服务器,则此过程将失败。
- iOS/iPadOS:Intune 会随机排列 URL 并向设备提供单个 URL。 如果设备无法访问 NDES 服务器,则 SCEP 请求失败。
- Windows:NDES URL 列表随机排列后会传递给 Windows 设备,然后 Windows 设备按接收的顺序尝试这些 URL,直到找到可用的 URL 为止。 如果设备无法访问任何 NDES 服务器,则此过程将失败。
如果在对 NDES 服务器的三次调用中,任何一次都无法成功连接到相同的 NDES 服务器,则 SCEP 请求将失败。 例如,当负载均衡解决方案为对 NDES 服务器的第二次或第三次调用提供不同的 URL,或者基于 NDES 的虚拟化 URL 提供不同的实际 NDES 服务器时,就可能发生这种情况。 请求失败后,设备将在其下一个策略周期中再次尝试该过程,从 NDES URL 的随机列表(或用于 iOS/iPadOS 的单个 URL)开始。
此步骤仅适用于完全托管、专用和 Corporate-Owned 工作配置文件的 Android Enterprise 设备配置文件。
在 “应用”中,配置 “证书访问权限 ”以管理向应用程序授予证书访问权限的方式。 从以下项中进行选择:
- 要求用户批准 (默认) 的应用 – 用户必须批准所有应用程序使用证书。
- 以静默方式为特定应用授予 (要求用户批准其他应用) – 使用此选项时,选择“ 添加应用”,然后选择一个或多个无需用户交互即可以无提示方式使用该证书的应用。
选择 下一步。
在“分配”中,选择将接收配置文件的用户或组。 有关分配配置文件的详细信息,请参阅分配用户和设备配置文件。
选择 下一步。
(仅适用于 Windows 10/11)在“适用性规则”中,指定适用性规则以优化此配置文件的分配。 可以根据操作系统版本或设备版本来选择是否分配配置文件。
有关详细信息,请参阅“在 Microsoft Intune 中创建设备配置文件”中的适用性规则。
在“查看并创建”中查看设置。 选择“创建”时,将保存所做的更改并分配配置文件。 该策略也会显示在配置文件列表中。
避免证书签名请求中包含转义的特殊字符
包含用以下一个或多个特殊字符作为转义字符的使用者名称 (CN) 的 SCEP 和 PKCS 证书请求存在一个已知问题。 将其中一个特殊字符作为转义字符的使用者名称将导致 CSR 中使用者名称不正确。 错误的使用者名称会导致 Intune SCEP 质询验证失败,并且不会颁发证书。
特殊字符为:
- +
- ,
- ;
- =
当使用者名称包含一个特殊字符时,请使用以下选项之一来解决此限制:
- 用引号封装包含特殊字符的 CN 值。
- 删除 CN 值中的特殊字符。
例如,使用者名称显示为 Test user (TestCompany, LLC)。 如果 CSR 包含一个 CN,该 CN 在 TestCompany 和 LLC 之间有逗号,则会出现问题。 可以通过在整个 CN 周围加上引号,或者删除 TestCompany 和 LLC 之间的逗号来避免这一问题:
- 添加引号:CN="Test User (TestCompany, LLC)",OU=UserAccounts,DC=corp,DC=contoso,DC=com
- 删除逗号:CN=Test User (TestCompany LLC),OU=UserAccounts,DC=corp,DC=contoso,DC=com
但是,使用反斜杠字符转义逗号的尝试将失败,CRP 日志中出现错误:
- 转义逗号: CN=Test User (TestCompany\, LLC) ,OU=UserAccounts,DC=corp,DC=contoso,DC=com
此错误类似于以下错误:
Subject Name in CSR CN="Test User (TESTCOMPANY\, LLC),OU=UserAccounts,DC=corp,DC=contoso,DC=com" and challenge CN=Test User (TESTCOMPANY\, LLC),OU=UserAccounts,DC=corp,DC=contoso,DC=com do not match
Exception: System.ArgumentException: Subject Name in CSR and challenge do not match
at Microsoft.ConfigurationManager.CertRegPoint.ChallengeValidation.ValidationPhase3(PKCSDecodedObject pkcsObj, CertEnrollChallenge challenge, String templateName, Int32 skipSANCheck)
Exception: at Microsoft.ConfigurationManager.CertRegPoint.ChallengeValidation.ValidationPhase3(PKCSDecodedObject pkcsObj, CertEnrollChallenge challenge, String templateName, Int32 skipSANCheck)
at Microsoft.ConfigurationManager.CertRegPoint.Controllers.CertificateController.VerifyRequest(VerifyChallengeParams value
分配证书配置文件
分配 SCEP 证书配置文件的方法与部署设备配置文件以实现其他目的相同。
重要
若要使用 SCEP 证书配置文件,设备还必须已接收受信任的证书配置文件,且该配置文件预配了受信任的根 CA 证书。 建议将受信任的根证书配置文件和 SCEP 证书配置文件都部署到相同的组中。
在继续之前,请考虑以下事项:
将 SCEP 证书配置文件分配给组时,将在设备上安装受信任的根 CA 证书文件(如“受信任的证书配置文件”中所述)。 设备使用 SCEP 证书配置文件来为该受信任的根 CA 证书创建证书请求。
SCEP 证书配置文件仅安装在特定设备上,该设备可运行你在创建证书配置文件时指定的平台。
可以向用户集合或设备集合分配证书配置文件。
若要在注册设备后向设备快速发布证书,请将证书配置文件分配给用户组(而不是设备组)。 如果分配到设备组,则需要在设备接收策略前进行完整的设备注册。
如果使用 Intune 和 Configuration Manager 的共同管理,请在 Configuration Manager 中将资源访问策略的工作负载滑块设置为“Intune”或“试点 Intune”。 此设置允许 Windows 10/11 客户端启动请求证书的过程。
注意
- 在 iOS/iPadOS 和 macOS 设备上,当 SCEP 证书配置文件或 PKCS 证书配置文件与其他配置文件(如 Wi-Fi 或 VPN 配置文件)相关联时,设备将接收每个附加配置文件的证书。 这会导致设备具有 SCEP 或 PKCS 证书请求提供的多个证书。
- SCEP 提供的每个证书都是唯一的。 由 PKCS 提供的证书是相同的,但看上去不同,因为在管理配置文件中每个配置文件实例均以单独的一行表示。
- 在 iOS 13 和 macOS 10.15 上, Apple 记录了要考虑的其他安全要求 。