Autenticação baseada em certificado para iOS não é solicitada para certificados de utilizador

Nota

O Office 365 ProPlus está a ser renomeado para Aplicações do Microsoft 365 para empresas. Para obter mais informações sobre essa alteração, leia este post no blog.

Sintomas

Os utilizadores federados em dispositivos apple iOS que possuem certificados de utilizador válidos descobrem que não podem realizar autenticação baseada em Certificados (CBA) contra a AD Azure. No entanto, os utilizadores federados em dispositivos Android e Windows podem autenticar com sucesso usando CBA. Os mesmos utilizadores do iOS não encontram problemas quando autenticam utilizando o seu nome de utilizador e palavra-passe.

Aqui está a experiência típica para utilizadores de iOS que não conseguem autenticar quando entram nas aplicações do Escritório ativadas pela ADAL no iOS:

  1. O utilizador percorre a experiência de configuração da aplicação office. Na página de início de sessão "Office365", o utilizador clica no 'Iniciar' o 'Sign-in'.
  2. A página de entrada adal aparece, na qual o utilizador introduz o seu endereço de e-mail federado e, em seguida, clica em Seguinte.
  3. O processo de início de sessão da ADAL fica numa página em branco até que este se esuste e devolve um "Há um problema com a sua conta. Tente de novo mais tarde" erro. Esta página inclui a opção de tocar OK.
  4. Se o utilizador tocar OK, senta-se na mesma página de entrada em branco com a opção na parte superior para tocar para trás.
  5. A utilização de Backreturns devolve o utilizador à página de entrada da ADAL, onde o processo começa por todo o lado: o utilizador é solicitado a introduzir o seu endereço de e-mail federado e, em seguida, clicar em Seguinte.
  6. Tocar OK retorna a um ecrã de entrada em branco, onde o utilizador pode introduzir o seu UserPrincipalName e repetir o processo.

Para eliminar as aplicações do Office como um fator, recomendamos que os utilizadores federados numa autenticação baseada em certificados de teste de ambiente iOS no navegador Safari, seguindo os passos na secção "Mais Informações". A experiência típica para utilizadores de iOS que não conseguem autenticar contra  https://portal.office.com   um navegador Safari é a seguinte:

  1. O utilizador não é solicitado como esperado para aprovar a utilização do seu certificado de utilizador depois de clicar no Sign-in usando um link de certificado X.509. 

  2. O utilizador federado ou se senta numa página de sessão STS sem resposta ou avança para a página de sessão STS predefinida, onde são solicitados da seguinte forma: 

    Selecione um certificado que pretende utilizar para autenticação. Se cancelar a operação, por favor feche o seu navegador e tente novamente.

    Nota   Se outros métodos de autenticação estiverem ativados em AD FS, o utilizador também verá um link indicando "Iniciar sessão com outras opções". Se clicarem nisto, regressam à página de sts.

  3. Ambas as experiências falham com o seguinte erro:

    O Safari não conseguiu abrir a página porque o servidor deixou de responder.

Causa

A cadeia de certificados está incompleta porque o certificado de CA subordinado emite não é recuperado pelo dispositivo como esperado quando a política do MDM empurra apenas o certificado Raiz para o dispositivo Apple juntamente com o perfil SCEP.

O dispositivo iOS não adquire corretamente o ficheiro *.crt da Emissão da CA, embora o caminho AIA no certificado de utilizador tenha um URL válido que aponta para o ficheiro *.crt da Emissão subordinada da CA.

Resolução

Se o cliente estiver a utilizar o Intune para gerir o dispositivo, aconselhe-o a criar uma nova política de configuração para um certificado de raiz fidedigno iOS que aponta para o *das Autoridades de Certificados Intermédios. Arquivo cer. Em seguida, aconselhe-os a abrir o portal da empresa no dispositivo e a atualizar a apólice. A ligação deve agora ter sucesso.

Mais Informações

Se pegar num rastreio "Apple Configurator 2" de um cliente OS X que está ligado ao iPad utilizando o cabo relâmpago, o registo de vestígios assemelha-se ao seguinte:

} 
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}