IOS에 대 한 인증서 기반 인증이 사용자 인증서를 요구 하는 메시지를 표시 하지 못한다

참고

Office 365 ProPlus엔터프라이즈용 Microsoft 365 앱으로 이름이 바뀌고 있습니다. 이 변경에 대한 자세한 내용은 이 블로그 게시물을 참조하세요.

증상

유효한 사용자 인증서가 있는 Apple iOS 장치에 대 한 페더레이션 사용자는 Azure AD에 대해 CBA (인증서 기반 인증)를 수행할 수 없다는 사실을 알게 됩니다. 그러나 Android 및 Windows 장치에 대 한 페더레이션 사용자는 CBA를 사용 하 여 인증할 수 있습니다. 동일한 iOS 사용자가 사용자 이름과 암호를 사용 하 여 인증할 때 문제가 발생 하지 않습니다.

IOS에서 ADAL을 사용 하는 Office 응용 프로그램에 로그인 할 때 인증할 수 없는 iOS 사용자에 대 한 일반적인 환경은 다음과 같습니다.

  1. 사용자가 Office 앱 설치 환경을 안내 합니다. "Office365" 로그인 페이지에서 사용자가 로그인을 클릭 합니다.
  2. 사용자가 페더레이션 전자 메일 주소를 입력 한 후 다음을 클릭 하는 ADAL 로그인 페이지가 나타납니다.
  3. 시간이 초과 되 고 "계정에 문제가 있습니다."가 반환 될 때까지 ADAL 로그인 프로세스가 빈 페이지에서 중단 됩니다. 나중에 다시 시도 하세요. "오류 이 페이지에는 확인을 누르는 옵션이 포함 되어 있습니다.
  4. 사용자가 확인을 누르면 맨 위의 옵션을 사용 하 여 두 번에 있는 동일한 비어 있는 로그인 페이지에서 뒤로 탭 합니다.
  5. Backreturns 누르면 사용자가 ADAL 로그인 페이지로 반환 되며,이 페이지에서 프로세스를 모두 시작 합니다. 라는 메시지가 표시 되 고 사용자에 게 페더레이션 전자 메일 주소를 입력 한 후 다음을 클릭 합니다.
  6. 확인을 누르면 사용자가 UserPrincipalName를 입력 하 고 프로세스를 반복할 수 있는 빈 로그인 화면으로 돌아갑니다.

Office 응용 프로그램을 요인으로 없애기 위해서는 iOS 환경의 페더레이션 사용자가 Safari 브라우저에서 인증서 기반 인증을 테스트 하는 것이 좋습니다 ("추가 정보" 섹션의 단계에 따라).  https://portal.office.comSafari 브라우저에서 인증을 받을 수 없는 iOS 사용자에 대 한 일반적인 환경은   다음과 같습니다.

  1. 사용자가 x.509 인증서 링크를 사용 하 여 로그인을 클릭 한 후 사용자 인증서의 사용을 승인할 것인지 묻는 메시지가 표시 되지 않습니다. 

  2. 페더레이션 사용자는 응답 하지 않는 STS 로그인 페이지에 배치 되거나 다음과 같은 메시지가 표시 되는 기본 STS 로그인 페이지로 이동 합니다. 

    인증에 사용할 인증서를 선택 합니다. 작업을 취소 하는 경우 브라우저를 닫고 다시 시도 하세요.

    참고 사항   AD FS에서 다른 인증 방법을 사용 하도록 설정 된 경우 사용자에 게는 "다른 옵션을 사용 하 여 로그인 합니다." 라는 링크도 표시 됩니다. 사용자가이를 클릭 하면 STS 로그인 페이지로 돌아갑니다.

  3. 두 경우 모두 다음과 같은 오류가 발생 합니다.

    서버가 응답을 중지 했기 때문에 페이지를 열 수 없습니다.

원인

발급 하는 하위 CA 인증서가 SCEP 프로필과 함께 Apple 장치에만 루트 인증서로 푸시 될 때 장치가 예상 대로 검색 되지 않으므로 인증서 체인이 불완전 합니다.

사용자 인증서의 AIA 경로에 발급 하는 하위 CA의 * .crt 파일을 가리키는 유효한 URL이 있더라도 iOS 장치는 발급 하는 CA의 * .crt 파일을 올바르게 인식 하지 못합니다.

해결 방법

고객이 Intune을 사용 하 여 장치를 관리 하는 경우에는 중개 인증 기관 ' *을 가리키는 iOS 신뢰할 수 있는 루트 인증서에 대 한 새 구성 정책을 만들도록 권고 합니다. CER 파일 그런 다음 장치에서 회사 포털을 열고 정책을 새로 고칠 것을 권고 합니다. 이제 연결이 성공 합니다.

추가 정보

라이트닝 케이블을 사용 하 여 iPad에 연결 된 OS X 클라이언트에서 "Apple 구성자 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}