2012-06-13 26 views
8

Creo que hay una brecha en mi modelo mental de autenticación WCF, con la esperanza de que alguien pueda ayudarme a completarlo.WCF: ¿se necesita un certificado de servicio para autenticar clientes?

Por lo tanto, estoy creando un servicio WCF y me gustaría que los clientes autentiquen usando certificados y mensaje- nivel de seguridad Me gustaría que el servicio valide estos utilizando la confianza de cadena para que no necesite cada cert de cliente instalado en el servicio. Por ahora, no estoy interesado en que el servicio se autentique con el cliente.

Aquí es mi comprensión de lo que se necesita para hacer esto:

  1. el cliente necesita un certificado firmado por una CA en la que confían en el lado del servicio.
  2. El servicio necesita una CRL instalada para esa CA.
  3. La configuración del servicio debe tener activada la seguridad del mensaje, especificar clientCredentialType = "Certificate" y la confianza de la cadena para la validación del certificado del cliente.
  4. La configuración de cliente debe tener la seguridad de mensajes activado, especifica clientCredentialType = "certificado", y un comportamiento de punto final que le dice cómo encontrar el certificado de cliente en la tienda.

El cliente realiza una solicitud al servicio, enviando su certificado. El servicio ve que el certificado del cliente está firmado por su CA de confianza y permite el paso de la solicitud.

Ahora, todos los tutoriales de este proceso que he encontrado también incluyen una etapa de creación de un certificado para el servicio. Ninguno de ellos explica para qué es esto, que me está arrojando. ¿Por qué es necesario un certificado de servicio si solo quiero autenticar a los clientes?

Respuesta

7

tiene usted razón. En teoría, no se requiere certificado de servidor, en la práctica lo obligaremos a usar uno. La buena noticia es que debe usar un certificado falso para el servidor y también establecer ProtectionLevel en SignOnly. Sugiero leer this article que habla en un escenario similar y sobre todo relevante.

+0

impresionante, gracias - "Porque WCF lo dice" que funciona para mí. =) – user1454265

+0

Eres un dios ... gracias por ese artículo – DdW

Cuestiones relacionadas