2009-10-21 24 views
11

Tengo una aplicación C# que llama a un método de servicio web que autentica el uso de un certificado. El código funciona, porque cuando está instalado en el servidor A (sin un proxy) se autentica.No se pudo crear el canal seguro SSL/TLS. ¿Podría ser un servidor proxy?

Cuando instalo el código en el servidor B, en el sitio del cliente, está instalado detrás de un proxy. Realmente he intentado casi todo, pero me siguen dando este error:

No se pudo crear SSL/TLS canal seguro

¿Crees que este problema puede ser causado por un servidor proxy? Si has tenido alguna experiencia personal con esto, comparte.

Gracias

Respuesta

15

En mi experiencia, casi todos estos mensajes se deben a que alguna máquina de la cadena (cliente, proxy, servidor) no le "gusta" un certificado por algún motivo.

Para explicar lo que twk dijo, si está utilizando certificados autofirmados, o su propia CA, necesita instalar el certificado de firma en la tienda de autoridades de confianza en el servidor al menos, y posiblemente en el proxy.

problemas

comunes que he encontrado:

  • El certificado del servidor no está firmado por una autoridad de que el procurador o el cliente confía en
  • El certificado en el cliente no está firmado por una autoridad que el procurador o el servidor confía
  • Vaya, me olvidé de exportar la clave privada cuando creé el CERT para ser instalado en el cliente
  • Mi proceso no tiene permisos de lectura a la clave privada en el cliente
  • El certificado del cliente está protegido con contraseña y no especifique las credenciales al leer el certificado.
5

Si el certificado no es de confianza (es auto firmado) entonces C# cliente se negará a conectarse.

+1

+1, buen punto, pero este certificado se paga y se firma. –

+0

Puede comprar un certificado de Verisign (o Thawte, etc.), pero no será de confianza a menos que la clave de firma de Verisign esté en el almacén de claves de "Autoridades de certificación de confianza". Ahora, en el caso de la mayoría de las principales CA, la clave de firma ya está allí. Sin embargo, eso NO es una garantía. ¡Definitivamente deberías comprobarlo! Como mínimo, cargue el administrador de certificados y haga doble clic en la clave y vaya a la pestaña "ruta de certificación" y asegúrese de que dice "Este certificado está OK". Y, en el lado del cliente, también debería ver "Tiene una clave privada que corresponde a este certificado" en la pestaña General. –

6

Estaba teniendo el mismo problema. En mi caso, los certificados necesitan el acceso al servicio de red. Se puede comprobar por

  1. abierto certificado MMC
  2. Vaya a Certificados (equipo local)> Personal> Certificados
  3. click derecho en su certificado y seleccione Todas las tareas> Administrar claves privadas ... en el menú contextual
  4. Establezca la autorización correspondiente
+1

¡SÍ!Tuve el mismo problema y esto lo resolvió para mí. ¡Gracias, gracias, gracias! –

Cuestiones relacionadas