Sintomas
Considere o seguinte cenário:
-
Num ambiente Exchange Server, um site Outlook Web App ou do Exchange Painel de Controlo (ECP) está configurado para utilizar a autenticação baseada em formulários (FBA).
-
Um utilizador introduz um nome de utilizador e palavra-passe de caixa de correio válidos.
Quando o utilizador inicia sessão no Outlook Web App ou ECP neste cenário, é redirecionado para a página FBA. Não existe nenhuma mensagem de erro. Além disso, no registo HttpProxy\Owa, as entradas para "/owa" mostram que "CorrelationID=<> vazio; NoCookies=302" foi devolvido para os pedidos falhados. Anteriormente no registo, as entradas de "/owa/auth.owa" indicam que o utilizador foi autenticado com êxito.
Causa
Este problema pode ocorrer se o site estiver protegido por um certificado que utiliza um Fornecedor de Armazenamento de Chaves (KSP) para o respetivo armazenamento de chaves privadas através da Cryptography Next Generation (CNG). Exchange Server não suporta certificados CNG/KSP para proteger Outlook Web App ou ECP. Em alternativa, tem de ser utilizado um Fornecedor de Serviços Criptográficos (CSP). Pode determinar se a chave privada está armazenada no KSP a partir do servidor que aloja o site afetado. Também pode verificar se tem o ficheiro de certificado que contém a chave privada (pfx, p12).
Como utilizar o CertUtil para determinar o armazenamento de chaves privadas
Se o certificado já estiver instalado no servidor, execute o seguinte comando:
certutil - armazenar o meu <CertificateSerialNumber>Se o certificado estiver armazenado num ficheiro pfx/p12, execute o seguinte comando:
certutil <CertificateFileName>Em ambos os casos, o resultado do certificado em questão apresenta o seguinte:
Fornecedor = Fornecedor de Chaves de Armazenamento da Microsoft
Resolução
Para resolver este problema, migre o certificado para um CSP ou peça um certificado CSP ao seu fornecedor de certificados.Nota Se utilizar um CSP ou KSP de outro fornecedor de software ou hardware, contacte o fornecedor relevante para obter as instruções adequadas. Por exemplo, deve fazê-lo se utilizar um Fornecedor Criptográfico SChannel do Microsoft RSA e se o certificado não estiver bloqueado num KSP.
-
Faça uma cópia de segurança do certificado existente, incluindo a chave privada. Para obter mais informações sobre como fazê-lo, consulte Export-ExchangeCertificate.
-
Execute o comando Get-ExchangeCertificate para determinar que serviços estão atualmente vinculados ao certificado.
-
Importe o novo certificado para um CSP ao executar o seguinte comando: certutil -csp "Microsoft RSA SChannel Cryptographic Provider" -importpfx <CertificateFilename>
-
Execute Get-ExchangeCertificate para se certificar de que o certificado ainda está vinculado aos mesmos serviços.
-
Reinicie o servidor.
-
Execute o seguinte comando para verificar se o certificado tem agora a respetiva chave privada armazenada com um CSP: certutil -store my <CertificateSerialNumber>
O resultado deverá agora mostrar o seguinte:
Fornecedor = Fornecedor de Criptografia SChannel do Microsoft RSA