Symptomy
Załóżmy, że korzystasz z protokołu TLS (Transport Layer Security) w wersji 1,2 w programie Microsoft SQL Server. Gdy certyfikat używany do szyfrowania komunikacji punktu końcowego dla dublowania bazy danych, grup dostępności i brokera usług używa algorytmu mieszania MD5, komunikacja kończy się niepowodzeniem. Ponadto w dzienniku błędów programu SQL Server jest wyświetlany następujący komunikat o błędzie:
Uzgadnianie połączenia nie powiodło się. Niepowodzenie połączenia z systemem operacyjnym: (80090331) 0x80090331 (klient i serwer nie mogą się komunikować, ponieważ nie mają wspólnego algorytmu). Stan 58.
Ponadto w dzienniku systemu Windows jest zgłaszany następujący błąd Schannel:
Alert krytyczny został wygenerowany i wysłany do zdalnego punktu końcowego. Może to spowodować przerwanie połączenia. Kod błędu krytycznego zdefiniowany w protokole TLS to 40. Stan błędu Windows SChannel to 1205.
Przyczyna
Ten problem występuje, ponieważ protokół TLS 1,2 nie obsługuje algorytmu MD5 jako algorytmu skrótu podpisu.
Rozwiązanie
W oparciu o obecne najważniejsze wskazówki dotyczące zabezpieczeń i standardy zaleca się przełączenie na skrót podpisu inny niż MD5 dla certyfikatów używanych do szyfrowania punktów końcowych programu SQL Server. Lista stałych wersji obsługujących protokół TLS 1,2 jest dostępna w następującym artykule z bazy wiedzy Microsoft Knowledge Base:
3135244 Pomoc techniczna dotycząca protokołu TLS 1,2 dla programu Microsoft SQL Server
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.