Https para el transporte en WCF

¿Cuál es la mejor manera de implementar la seguridad https para el transporte sin un certificado? ¿Debería, por ejemplo, usar basicHttpBinding con SecurityMode para Transport y ClientCredentialType para HttpClientCredentialType? Lo hice de la manera descrita, pero luego, al acceder a WSDL, tengo una advertencia de certificado.

preguntado el 17 de enero de 12 a las 19:01

3 Respuestas

No creo que puedas tener https sin un certificado. Puede ser de creación propia, pero luego el cliente debe instalarlo explícitamente en su tienda de confianza.

Respondido el 17 de enero de 12 a las 23:01

No puedes. HTTPS es solo un túnel HTTP dentro de SSL / TLS y SSL / TLS requiere el uso de un certificado en el lado del servidor. Si esto es para pruebas, o solo lo utilizan los clientes que usted controla, puede optar por realizar una de estas opciones en lugar de pagar por un certificado emitido por una CA.

  • Utilice un certificado autofirmado. Para que esto funcione sin que su cliente reciba una advertencia, deberá importar el certificado al almacén de confianza de los clientes (generalmente parte del navegador).

  • Utilice un certificado emitido por una autoridad certificadora (CA) que usted controle y haga que el certificado emisor (o raíz) de esa CA sea importado / de confianza para todos sus clientes. Esto es muy útil si tiene varios servidores en su entorno y necesita que todos los clientes de su entorno confíen en ellos.

Si necesita que los clientes externos se conecten a sus servidores sin realizar ninguna importación / confianza en los clientes, deberá obtener un certificado de una CA reconocida a nivel mundial como Verisign.

Respondido el 18 de enero de 12 a las 00:01

Tengo un servicio web para el que necesito implementar HTTPS. Está en uno de nuestros servidores. En el mismo servidor tengo alojado un sitio web ASP.NET. El sitio web, en el lado del servidor, llama al servicio web. Por lo tanto, solo necesito agregar el certificado en ese servidor, ¿no es cierto? Usando mmc, ¿dónde debería instalarlo y cómo configurar el servicio web y el sitio web para que se comuniquen entre sí? - Niao

@niao: ¿Quiere decir que solo quiere https para su servicio web y no para el sitio web asp.net alojado? - Rajesh

Si desea cifrar el contenido de los mensajes, así como la seguridad de transporte HTTP, otra opción que puede considerar es utilizar la seguridad de mensajes. Esto cifra solo el contenido del mensaje y no el canal de transporte. Un beneficio potencial de esto es que el el mensaje se puede asegurar pasando a través de sistemas intermedios, mientras que HTTP es punto a punto

Esto requerirá un certificado X509 en el servidor, que al igual que con los certificados https puede autofirmar o obtener de una CA como Verisign

Respondido el 17 de enero de 12 a las 23:01

¿Entonces no hay forma de que pueda hacerlo sin un certificado? - Niao

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.