Sintomas
Considere o seguinte cenário:
-
Em um ambiente Exchange Server, um site Outlook Web App ou Exchange painel de controle (ECP) é configurado para usar a autenticação baseada em formulários (FBA).
-
Um usuário inssi um nome de usuário e senha de caixa de correio válidos.
Quando o usuário faz o login Outlook Web App ou ECP nesse cenário, ele é redirecionado para a página do FBA. Não há mensagem de erro.
Além disso, no log HttpProxy\Owa, as entradas de "/owa" mostram que "CorrelationID=<vazio>; NoCookies=302" foi retornado para as solicitações com falha. Anteriormente no log, as entradas de "/owa/auth.owa" indicam que o usuário foi autenticado com êxito.
Causa
Esse problema pode ocorrer se o site for protegido por um certificado que usa um KSP (Provedor de chaves Armazenamento) para seu armazenamento de chave privada por meio de Criptografia de Próxima Geração (CNG).
Exchange Server não dá suporte a certificados CNG/KSP para proteger Outlook Web App ou ECP. Em vez disso, um CSP (Provedor de Serviços Criptográficos) deve ser usado. Você pode determinar se a chave privada é armazenada no KSP do servidor que hospeda o site afetado. Você também pode verificar isso se tiver o arquivo de certificado que contém a chave privada (pfx, p12).
Como usar CertUtil para determinar o armazenamento de chaves privadas
Se o certificado já estiver instalado no servidor, execute o seguinte comando:
certutil -store my <CertificateSerialNumber>Se o certificado for armazenado em um arquivo pfx/p12, execute o seguinte comando:
certutil <CertificateFileName> Em ambos os casos, a saída do certificado em questão exibe o seguinte:
Provider = Microsoft Armazenamento Key Provider
Resolução
Para resolver esse problema, migre o certificado para um CSP ou solicite um certificado CSP do provedor de certificados.
Observação Se você usar um CSP ou KSP de outro fornecedor de software ou hardware, contate o fornecedor relevante para obter as instruções apropriadas. Por exemplo, você deve fazer isso se usar um Provedor Criptográfico do Microsoft RSA SChannel e se o certificado não estiver bloqueado em um KSP.
-
Fazer o back up do certificado existente, incluindo a chave privada. Para obter mais informações sobre como fazer isso, consulte Export-ExchangeCertificate.
-
Execute o Get-ExchangeCertificate para determinar quais serviços estão vinculados no momento ao certificado.
-
Importe o novo certificado para um CSP executando o seguinte comando:
certutil -csp "Microsoft RSA SChannel Cryptographic Provider" -importpfx <CertificateFilename> -
Execute Get-ExchangeCertificate para garantir que o certificado ainda esteja vinculado aos mesmos serviços.
-
Reinicie o servidor.
-
Execute o seguinte comando para verificar se o certificado agora tem sua chave privada armazenada com um CSP:
certutil -store my <CertificateSerialNumber>
A saída agora deve mostrar o seguinte:
Provedor = Provedor Criptográfico do Microsoft RSA SChannel