Selección explícita de versión SSL / TLS

0

He publicado esta pregunta en SO, pero no recibí ninguna ayuda. Por lo tanto, estoy probando suerte aquí en SE.

En pocas palabras, un marco como .NET nos permite cambiar la versión SSL / TLS antes de conectarnos a cualquier servicio https específico. Este acuerdo garantiza que tanto el cliente como el servidor se conecten y consuman http sobre la versión acordada de SSL / TLS. Que yo sepa, el acuerdo de negociación de la versión SSL / TLS se produce en el protocolo SSL / TLS.

Pregunta : ¿Puede alguien explicar por qué el marco de trabajo permite tal caso de uso cuando se supone que la negociación se realizará en la etapa de saludo de TLS?

    
pregunta Nair 05.01.2018 - 17:57
fuente

1 respuesta

4

Creo que entiendes mal la API. La función que menciona no se utiliza para seleccionar una versión específica de SSL / TLS. El argumento de una función es un SecurityProtocolType Enum que tiene la siguiente documentación:

  

Especifica los protocolos de seguridad que son compatibles con el paquete de seguridad de Schannel. Esta enumeración tiene un atributo FlagsAttribute que permite una combinación a modo de bits de sus valores de miembro.

Tenga en cuenta que se trata de combinar varios valores aquí y no una sola versión de protocolo.

En otras palabras: esto no se usa para seleccionar una versión de protocolo específica, sino para establecer una lista de versiones de protocolo permitidas. Por lo general, desea tener TLS 1.2 y superior, tal vez TLS 1.1 y TLS 1.0 por razones de compatibilidad, pero no desea permitir SSLv3 o inferior. Al utilizar esta API, puede ajustar qué protocolos se permiten dentro de los siguientes protocolos de TLS.

    
respondido por el Steffen Ullrich 05.01.2018 - 18:09
fuente

Lea otras preguntas en las etiquetas