Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Domyślnie usługa Schannel weryfikujecertyfikat serweraprzez wywołanie funkcji WinVerifyTrust; Jeśli jednak ta funkcja została wyłączona przy użyciu flagi ISC_REQ_MANUAL_CRED_VALIDATION, należy zweryfikować certyfikat dostarczony przez serwer, który próbuje ustanowić jego tożsamość.
Aby ręcznie zweryfikować certyfikat serwera, należy go najpierw pobrać. Użyj funkcji QueryContextAttributes (Ogólne) i określ wartość atrybutu SECPKG_ATTR_REMOTE_CERT_CONTEXT. Ten atrybut zwraca strukturę CERT_CONTEXT z łańcuchem certyfikatów dostarczonym przez serwer. Ten łańcuch certyfikatów zawiera certyfikat liścia. Jest on nazywany certyfikatem liścia, ponieważ jest to ostatni certyfikat w łańcuchu certyfikatów i znajduje się najdalej od certyfikatu głównego . Kolejność certyfikatów w buforze kontekstu SSPI nie oznacza żadnej relacji tworzenia łańcucha certyfikatów.
Korzystając z certyfikatu liścia, należy sprawdzić następujące kwestie:
- Łańcuch certyfikatów jest kompletny, a korzeń to certyfikat z zaufanego urzędu certyfikacji (CA).
- Bieżący czas nie przekracza dat rozpoczęcia i zakończenia dla każdego certyfikatu w łańcuchu certyfikatów.
- Żaden z certyfikatów w łańcuchu certyfikatów nie został odwołany.
- Głębokość certyfikatu liścia nie jest głębsza niż maksymalna dozwolona głębokość określona w rozszerzeniu certyfikatu. To sprawdzenie jest konieczne tylko wtedy, gdy określona jest głębokość.
- Użycie certyfikatu jest poprawne, na przykład certyfikat klienta nie powinien być używany do uwierzytelniania serwera.
- W przypadku uwierzytelniania serwera tożsamość serwera zawarta w certyfikacie liści serwera jest zgodna z serwerem, z którego klient próbuje się skontaktować. Klient zazwyczaj dopasowuje jakiś element z pola Nazwa podmiotu certyfikatu do adresu IP serwera lub nazwy DNS.