Udostępnij przez


Uzyskiwanie poświadczeń Schannel

Poświadczenia są wymagane przez proces uwierzytelniania Schannel; zarówno klient, jak i serwer muszą uzyskać prawidłowe poświadczenia w celu ustanowienia kontekstu zabezpieczeń dla wymiany komunikatów. Aby zapoznać się z przykładem tej procedury, zobacz Pobieranie poświadczeń.

Aplikacja uzyskuje poświadczenia, wywołując funkcję AcquireCredentialsHandle , która zwraca dojście do żądanych poświadczeń. Ponieważ identyfikatory poświadczeń są używane do przechowywania informacji o konfiguracji, tego samego identyfikatora nie można używać po stronie klienta i serwera. Oznacza to, że aplikacje obsługujące zarówno połączenia klienta, jak i serwera muszą uzyskać co najmniej dwa dojścia poświadczeń.

Struktura SCHANNEL_CRED określa następujące elementy:

  • Protokół zabezpieczeń
  • Dozwolone szyfry
  • Minimalna i maksymalna siła szyfrowania
  • Certyfikat X.509 używany do uwierzytelniania — wymagany dla serwera, opcjonalny dla klienta, chyba że serwer żąda uwierzytelniania klienta.

Przekaż strukturę SCHANNEL_CRED (za pośrednictwem parametru pAuthData ) do funkcji AcquireCredentialsHandle . Ta funkcja zwraca identyfikator poświadczeń wymagany do ustanowienia kontekstu zabezpieczeń.

Osoby wywołujące interfejs dostawcy obsługi zabezpieczeń (SSPI) mogą używać protokołu TLS 1.3, przekazując nową strukturę kryptograficzną SCH_CREDENTIALS podczas wywoływania metody AcquireCredentialsHandle, która domyślnie włącza protokół TLS 1.3. Osoby wywołujące SSPI korzystające z protokołu TLS 1.3 muszą upewnić się, że ich kod poprawnie obsługuje SEC_I_RENEGOTIATE. Aby uzyskać więcej informacji, zobacz wpis w blogu Taking Transport Layer Security (TLS) do następnego poziomu z protokołem TLS 1.3 .

Aby uzyskać szczegółowe informacje na temat ustawiania szyfrów używanych w usłudze Schannel, zobacz Określanie szyfrów Schannel i siły szyfrowania.

Aby uzyskać informacje o certyfikatach, zobacz Certyfikaty i magazyn certyfikatów - funkcje.

Aby zapoznać się z przykładem otwierania magazynu certyfikatów i lokalizowania certyfikatu do użycia na potrzeby uwierzytelniania Schannel, zobacz Uzyskiwanie certyfikatu.

Pobieranie poświadczeń

Podniesienie protokołu Transport Layer Security (TLS) na wyższy poziom dzięki TLS 1.3

AcquireCredentialsHandle