Síntomas
Imagine la siguiente situación:
-
En un entorno Exchange Server, se configura un sitio web Outlook Web App o Exchange Panel de control (ECP) para usar la autenticación basada en formularios (FBA).
-
Un usuario escribe un nombre de usuario y una contraseña de buzón válidos.
Cuando el usuario inicia sesión en Outlook Web App o ECP en este escenario, se le redirige a la página FBA. No hay ningún mensaje de error. Además, en el registro HttpProxy\Owa, las entradas de "/owa" muestran que "CorrelationID=<> vacío; Se devolvió NoCookies=302" por las solicitudes erróneas. Anteriormente en el registro, las entradas de "/owa/auth.owa" indican que el usuario se ha autenticado correctamente.
Causa
Este problema puede ocurrir si el sitio web está protegido por un certificado que usa un proveedor de almacenamiento de claves (KSP) para su almacenamiento de clave privada a través de criptografía de nueva generación (CNG). Exchange Server no admite certificados CNG/KSP para asegurar Outlook Web App o ECP. Debe usarse un proveedor de servicios criptográficos (CSP) en su lugar. Puede determinar si la clave privada se almacena en el KSP desde el servidor que hospeda el sitio web afectado. También puede comprobar esto si tiene el archivo de certificado que contiene la clave privada (pfx, p12).
Cómo usar CertUtil para determinar el almacenamiento de claves privadas
Si el certificado ya está instalado en el servidor, ejecute el siguiente comando:
certutil -store my <CertificateSerialNumber>Si el certificado está almacenado en un archivo pfx/p12, ejecute el siguiente comando:
certutil <CertificateFileName>En cualquier caso, la salida del certificado en cuestión muestra lo siguiente:
Proveedor = Proveedor de claves de almacenamiento de Microsoft
Solución
Para resolver este problema, migre el certificado a un CSP o solicite un certificado CSP de su proveedor de certificados.Nota Si usas un CSP o KSP de otro software o proveedor de hardware, ponte en contacto con el proveedor correspondiente para obtener las instrucciones adecuadas. Por ejemplo, debe hacer esto si usa un proveedor de cifrado RSA SChannel de Microsoft y si el certificado no está bloqueado en un KSP.
-
Realice una copia de seguridad del certificado existente, incluida la clave privada. Para obtener más información sobre cómo hacerlo, vea Exportar-ExchangeCertificate.
-
Ejecute el comando Get-ExchangeCertificate para determinar qué servicios están enlazados actualmente al certificado.
-
Importe el nuevo certificado en un CSP ejecutando el siguiente comando: certutil -csp "Microsoft RSA SChannel Cryptographic Provider" -importpfx <CertificateFilename>
-
Ejecute Get-ExchangeCertificate para asegurarse de que el certificado sigue enlazado a los mismos servicios.
-
Reinicie el servidor.
-
Ejecute el siguiente comando para comprobar que el certificado ahora tiene su clave privada almacenada con un CSP: certutil -store my <CertificateSerialNumber>
La salida debería mostrar ahora lo siguiente:
Provider = Microsoft RSA SChannel Cryptographic Provider