Selezione della versione SSL / TLS esplicita

0

Ho postato questa domanda in SO, ma non ho ricevuto aiuto. Pertanto, sto tentando la fortuna qui a SE.

In poche parole, framework come .NET ci consente di cambiare la versione SSL / TLS prima di connetterci a qualsiasi servizio https specifico. Questo accordo garantisce che sia il client che il server si connettono e consumano http su una versione concordata di SSL / TLS. Per quanto ne so, l'accordo sulla negoziazione della versione SSL / TLS avviene tramite handshake SSL / TLS.

Domanda : qualcuno può spiegare perché il framework consente tale caso d'uso quando si suppone che la trattativa debba essere eseguita nella fase di handshake TLS?

    
posta Nair 05.01.2018 - 17:57
fonte

1 risposta

4

Penso che tu abbia capito male l'API. La funzione menzionata non viene utilizzata per selezionare una versione specifica SSL / TLS. L'argomento di una funzione è un SecurityProtocolType Enum che ha la seguente documentazione:

Specifies the security protocols that are supported by the Schannel security package. This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Si noti che parla di combinare più valori qui e non una singola versione di protocollo.

In altre parole: non è usato per selezionare una specifica versione di protocollo ma per impostare un elenco di versioni di protocollo consentite. In genere si desidera avere TLS 1.2 e versioni successive, forse TLS 1.1 e TLS 1.0 per motivi di compatibilità, ma non si desidera consentire SSLv3 o inferiore. Utilizzando questa API è possibile ottimizzare i protocolli consentiti nei seguenti handshake TLS.

    
risposta data 05.01.2018 - 18:09
fonte

Leggi altre domande sui tag