iOS 的基于证书的身份验证无法提示用户证书

备注

Office 365 ProPlus 正在重命名为 适用于企业的 Microsoft 365 应用。 有关此更改的详细信息, 请阅读此博客文章

症状

具有有效用户证书的 Apple iOS 设备上的联合用户发现他们无法针对 Certificate-Based CBA (执行) 身份验证Azure AD。 但是,Android 和 Windows上的联盟用户可以使用 CBA 成功进行身份验证。 同一 iOS 用户在使用用户名和密码进行身份验证时不会遇到任何问题。

以下是 iOS 用户在 iOS 上登录到启用了 ADAL 的 Office时无法进行身份验证的典型体验:

  1. 用户逐步完成Office 应用设置体验。 在"Office365"登录页上,用户单击"登录"。
  2. 将显示"ADAL 登录"页,用户可在此页面上输入其联合电子邮件地址,然后单击"下一步"。
  3. ADAL 登录过程在空白页面上挂起,直到它退出并返回"帐户有问题。 请稍后重试"错误。 此页面包含点击"确定"的选项。
  4. 如果用户点击"确定",他们将位于同一空白登录页面,其顶部的选项可点击"上一步"。
  5. 点击"返回"将用户返回到 ADAL 登录页面,其中过程将全部启动:系统将提示用户输入其联合电子邮件地址,然后单击"下一步"。
  6. 点击"确定"将返回到空白登录屏幕,用户可在此输入其 UserPrincipalName 并重复此过程。

若要消除Office应用程序这一因素,我们建议 iOS 环境中的联合用户按照"详细信息"部分中的步骤在 Safari 浏览器中测试基于证书的身份验证。 对于无法从 Safari 浏览器进行身份验证的 iOS 用户, https://portal.office.com 其典型体验如下所示:

  1. 用户单击"使用 X.509 证书登录"链接后,系统不会按预期提示用户批准使用其用户证书。

  2. 联盟用户要么位于无响应的 STS 登录页,要么前进到默认的 STS 登录页,此时将提示他们,如下所示:

    选择要用于身份验证的证书。 如果取消该操作,请关闭浏览器并重试。

    注意 如果在 AD FS 中启用了其他身份验证方法,用户还将看到一个链接,指出"使用其他选项登录"。 如果用户单击此页,将返回到 STS 登录页。

  3. 两种体验均失败,出现以下错误:

    Safari 无法打开页面,因为服务器已停止响应。

原因

证书链不完整,因为当 MDM 策略仅将根证书与 SCEP 配置文件一起推送到 Apple 设备时,设备不会按预期检索颁发从属 CA 证书。

iOS 设备无法正确获取颁发 CA 的 *.crt 文件,即使用户证书上的 AIA 路径具有指向颁发从属 CA 的 *.crt 文件的有效 URL。

解决方案

如果客户使用 Intune 管理设备,建议他们为指向中间证书颁发机构 *的 iOS 受信任根证书创建新的配置策略。CER 文件。 然后,建议他们在设备上打开公司门户并刷新策略。 现在应该会成功连接。

更多信息

如果使用闪电电缆从连接到 iPad 的操作系统 X 客户端进行"Apple Configurator 2"跟踪,跟踪日志将类似于以下内容:

} 
Nov 2 15:53:49 CSSs-iPad MobileSafari(Accounts)[618] <Notice>: __51-[ACRemoteAccountStoreSession _configureConnection]_block_invoke.62 (57) "The connection to ACDAccountStore was invalidated."
Nov 2 15:53:49 CSSs-iPad MobileSafari(ProtectedCloudStorage)[618] <Notice>: KeychainGetStatus(PCSiCloudServiceMarkerName): keychain: -25300
Nov 2 15:53:49 CSSs-iPad MobileSafari(ProtectedCloudStorage)[618] <Notice>: KeychainGetStatus(PCSiCloudServiceMarkerName): status: off
Nov 2 15:53:49 CSSs-iPad accountsd(AccountsDaemon)[216] <Notice>: -[ACDServer listener:shouldAcceptNewConnection:] (320) "<private> (<private>) received"
Nov 2 15:53:49 CSSs-iPad MobileSafari(ProtectedCloudStorage)[618] <Notice>: PCSIdentitySetCreate: CloudKit { kPCSSetupDSID = "<<VALUE>>";
}
Nov 2 15:53:49 CSSs-iPad MobileSafari(Accounts)[618] <Notice>: __51-[ACRemoteAccountStoreSession _configureConnection]_block_invoke.62 (57) "The connection to ACDAccountStore was invalidated."
Nov 2 15:53:49 CSSs-iPad MobileSafari(ProtectedCloudStorage)[618] <Notice>: KeychainGetStatus(PCSiCloudServiceMarkerName): keychain: -25300
Nov 2 15:53:49 CSSs-iPad MobileSafari(ProtectedCloudStorage)[618] <Notice>: KeychainGetStatus(PCSiCloudServiceMarkerName): status: off
Nov 2 15:53:49 CSSs-iPad MobileSafari(ProtectedCloudStorage)[618] <Notice>: PCSIdentitySetCreate: CloudKit { kPCSSetupDSID = "<<VALUE>>";
}
...
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(libsystem_network.dylib)[619] <Info>: nw_connection_endpoint_report [8 sts.<name>.info:49443 in_progress resolver (satisfied)] reported event flow:finish_transport
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(CFNetwork)[619] <Notice>: TIC TCP Conn Cancel [1:0x13dd17990]
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(libsystem_network.dylib)[619] <Info>: nw_endpoint_handler_cancel [1 portal.office.com:443 ready resolver (satisfied)]
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(libsystem_network.dylib)[619] <Info>: nw_endpoint_handler_cancel [1.1 13.107.7.190:443 ready socket-flow (satisfied)]
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(libsystem_network.dylib)[619] <Notice>: __nw_socket_service_writes_block_invoke sendmsg(fd 4, 85 bytes): socket has been closed
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(libsystem_network.dylib)[619] <Info>: nw_endpoint_flow_protocol_disconnected [1.1 13.107.7.190:443 cancelled socket-flow (null)] Output protocol disconnected
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(CFNetwork)[619] <Notice>: TIC TCP Conn Destroyed [1:0x13dd17990]
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(CFNetwork)[619] <Notice>: TIC TLS Event [8:0x13dd4e0c0]: 2, Pending(0)
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(CFNetwork)[619] <Notice>: TIC TLS Event [8:0x13dd4e0c0]: 11, Pending(0)
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(CFNetwork)[619] <Notice>: TIC TLS Event [8:0x13dd4e0c0]: 12, Pending(0)
Nov 2 15:54:33 CSSs-iPad com.apple.WebKit.Networking(CFNetwork)[619] <Notice>: TIC TLS Event [8:0x13dd4e0c0]: 13, Pending(0)
Nov 2 15:54:34 CSSs-iPad securityd[88] <Notice>: items matching issuer parent: Error Domain=NSOSStatusErrorDomain Code=-25300 "no matching items found" UserInfo={NSDescription=no matching items found}