Mam proste pytanie, ale nie mogę znaleźć nigdzie odpowiedzi. Mam aplikację serwera WCF. Chcę, żeby używała TYLKO TLS1.2.Ogranicz wszystko, oprócz serwera TLS 1.2 WCF
Nie mam kontroli nad klientem i nie mogę edytować ustawień SCHANNEL na komputerze.
zrobiłem już spróbować następujących składników, które wydaje się działać tylko dla połączeń wychodzących (stronie klienta)
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
Czy istnieje jakiś sposób, aby ograniczyć bynajmniej TLS 1.2 serverside za kod?
EDIT: Używam Net.TCP wiążące i tworzą wiązania tak:
private static Binding CreateNetTcpBinding()
{
return new NetTcpBinding
{
ReceiveTimeout = TimeSpan.FromMinutes(10),
ReliableSession =
{
Enabled = true,
InactivityTimeout = TimeSpan.FromMinutes(1)
},
Security =
{
Mode = SecurityMode.Transport,
Transport =
{
ClientCredentialType = TcpClientCredentialType.Windows,
ProtectionLevel = ProtectionLevel.EncryptAndSign,
SslProtocols = SslProtocols.Tls12
},
Message =
{
AlgorithmSuite = SecurityAlgorithmSuite.xxx <-- not here on purpose,
ClientCredentialType = MessageCredentialType.Windows
}
}
};
}
Jeśli ktoś może mi powiedzieć, gdzie sprawdzić TLS wersji bieżącego połączenia (kontekst), która też wystarczy!
Z góry dziękuję!
Minęło trochę czasu, odkąd natknąłem się na dobre pytanie w WCF! – iamkrillin
Wygląda na to, że Twój problem został rozwiązany w [.NET Framework 4.7] (https://msdn.microsoft.com/en-us/library/ms171868 (v = vs.110) .aspx # v47) - ** Możliwość konfiguracji domyślne ustawienia bezpieczeństwa komunikatów do TLS 1.1 lub TLS 1.2 ** –