2012-07-02 33 views
10

Tengo un servicio WCF que SÓLO se usa entre dos máquinas servidor. NUNCA se usará públicamente.WCF El certificado autofirmado no es de confianza en el cliente

Esperaba poder usar SSL con un certificado autofirmado para mayor seguridad.

Creé un certificado usando IIS7, lo instalé en la máquina del cliente usando IE y el MMC (Personal, TrustedRoot, Third-Party & TrustedPeople).

Todavía no puedo acceder al servicio, ya sea desde el código o mediante IE8, sin que se cuestione el certificado.

De IE obtengo el habitual "Hay un problema con el certificado de seguridad de este sitio web".

Desde código me sale el error: "No se pudo establecer una relación de confianza para la canal seguro SSL/TLS con autoridad"

¿Por qué esto no funciona?

Respuesta

16

¿Está seguro de que su certificación autofirmada se encuentra en el almacén de certificados Trusted Root Certification Authorities en la máquina cliente que accederá a su servicio WCF? Vea la captura de pantalla a continuación de un certificado autofirmado en el que confía uno de mis equipos con Windows Vista.

¿Está seguro de que su certificado es un certificado autofirmado? Ver captura de pantalla al final de uno de mis certificados autofirmados.

enter image description here

enter image description here

enter image description here

Información actualizada:

Salida this publicación para obtener información sobre cómo utilizar una utilidad llamada SelfSSL7 para crear certificados firmados que contienen múltiples nombres de host.

Aquí hay otro link con buena información sobre SelfSSL7.exe y descargar información.

+0

Sí, todo se comprueba ... – baileyswalk

+1

¿El nombre de host contenido en el "CN" del certificado coincide con el host nombre que se utiliza en su https: // URL? ¿Puedes volcar o enumerar el certificado que creaste? Menos la clave privada, no necesitamos ver eso. – HeatfanJohn

+4

Además del comentario de @HeatfanJohn, el nombre de host en el certificado debe coincidir exactamente con lo que pone en el punto final del servicio en el cliente, es decir, tiene que ser el nombre de dominio totalmente calificado en un dominio AD. He tenido problemas con el pasado cuando solo utilicé el nombre de la máquina del servidor en el cliente, mientras que el certificado se emitió utilizando el nombre completo. –

0

El motivo por el que no funciona es que IE detecta que el certificado no se creó a partir de una CA (entidad emisora ​​de certificados) válida. Los certificados autofirmados son más para probar que cualquier otra cosa. No tendría mucho sentido SSL si no se lo advirtió.

+0

I, aunque la instalación de la certificado en la máquina del cliente debe r resolver esto, ¿no? – baileyswalk

+3

@erix Confiar en el certificado debería hacer que las advertencias desaparezcan. – HeatfanJohn

+1

Para mí, la instalación del certificado en la raíz satisface IE y Chrome, pero a WCF aún no le gusta –

1

Lo tuve hoy, pero con IIS7. Si usa IIS para generar el certificado (inetmgr-> seleccione el nodo base y luego elija Certificados de servidor, use la opción de menú derecha para crear un certificado autocertificado. El atributo 'emitido a' se establece mediante el FQDN de su máquina, como ' mymachine.myintranet.copp.net 'o lo que sea.

Siempre que tenga un FQDN para que la url se conecte desde el servicio, como' mymachine.myintranet.copp.net/myservice/service.svc ', el error persiste.

Si está utilizando una URL alternativa, como una dirección IP o localhost, entonces se produce el error. por lo tanto, la máquina anterior, obviamente, era conocido como johnma en su red, entonces funciona.

Cuestiones relacionadas