Pregunta

Tengo un servidor de SharePoint configurado para HTTPS en modo de reclamos. He alojado un servicio WCF en el servidor de SharePoint. Este servidor WCF utiliza el certificado de cliente para la autenticación.

El servicio WCF usa BasicHttpBinding.

En el lado del cliente, el siguiente es el enlace:

BasicHttpBinding binding = new BasicHttpBinding();
binding.TransferMode = TransferMode.StreamedResponse;
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Ntlm;

También he configurado el certificado del cliente usando la siguiente llamada:

base.ClientCredentials.ClientCertificate.SetCertificate(
    "CN=tempClientcert", StoreLocation.LocalMachine, StoreName.My
);

El certificado del cliente está configurado correctamente en el cliente y el servidor.

Cuando intento invocar el servicio, recibo el siguiente error:

System.Security.MessageSecurityException :  The HTTP request is unauthorized 
    with client authentication scheme 'Anonymous'. The authentication header
    received from the server was 'NTLM'

Aunque he establecido la credencial del cliente en certificado, no está claro por qué dice que el esquema de autenticación del cliente HTTP es anónimo.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top