Estoy creando una aplicación WCF donde usaré certificados para encriptar la comunicación entre el cliente y el servidor. En mi entorno de desarrollo, quiero usar un certificado de prueba/certificado autofirmado que he creado usando makecert. (Solo el servidor tendrá un certificado, el cliente no).¿Por qué WCF se queja por la falla de verificación de identidad?
He instalado el certificado en un almacén de certificados, y todo está funcionando bien. En el cliente, certificateValidationMode está configurado actualmente en "falso", ya que estoy trabajando con un certificado de prueba.
Mi problema:
En el app.config en el cliente, que debe especificar el elemento de identidad como esto:
<endpoint ... >
<identity>
<dns value="<Name-Of-Server-Computer>"/>
</identity>
</endpoint>
Si quito el elemento de identidad, me sale el siguiente mensaje de error en el cliente cuando trato de conectarme al servidor:
Error de verificación de identidad para el mensaje saliente. La identidad DNS esperada del punto extremo remoto era 'localhost', pero el punto final remoto proporcionaba el DNS 'Nombre-del-Servidor-Ordenador'. Si se trata de un punto final remoto legítimo, puede solucionar el problema especificando explícitamente la identidad DNS 'Nombre-de-Servidor-Computadora' como la propiedad Identidad de EndpointAddress al crear un proxy de canal.
Así que aquí está mi pregunta:
es el control de identidad sólo se hace cuando se utiliza un certificado de prueba/autofirmado? Cuando implemente mi aplicación usando un certificado real y de confianza adquirido de una CA, ¿se realizará la verificación de identidad?
¿Hay una manera de desactivar el control de identidad? Sé que puedo crear mi propio validador de certificados personalizado, pero no parece haber una manera de anular la verificación de identidad con estos.
> "Este es un control de seguridad que nunca había desactivo!" Solo para asegurarme de que entiendo. ¿Eso significa que hay una forma de desactivarlo? Entiendo los beneficios del cheque ... – Nitramk
Nunca pensé en hacer esto, así que nunca sentí la necesidad de comprobar si hay alguna manera de apagarlo. No lo sé, lo siento. –