Delen via


Initialisatie van clientcontext

Om een beveiligde verbinding tot stand te brengen, verkrijgt de client een uitgaande referenties verwerken voordat een verificatieaanvraag naar de server wordt verzonden. De server maakt een beveiligingscontext voor de client op basis van de verificatieaanvraag. Er zijn twee SSPI-functies aan de clientzijde die betrokken zijn bij het instellen van verificatie:

Code voor dit proces kan worden weergegeven in de functie GenClientContext in SSPI gebruiken met een Windows Sockets Client-.

Als een clientprogramma referenties moet gebruiken naast de eigen aanmeldingsreferenties, zoals een andere gebruikersnaam, domeinnaam en wachtwoord, worden deze verstrekt in de AcquireCredentialsHandle--aanroep met een SEC_WINNT_AUTH_IDENTITY structuur die de aanvullende referenties opgeeft. Zie Referentiebeheervoor meer informatie over referentiefuncties.

Notitie

De Vlaggen lid van de SEC_WINNT_AUTH_IDENTITY structuur kunnen worden ingesteld op SEC_WINNT_AUTH_IDENTITY_ANSI wanneer tekenreeksen in de structuur ASCI of OEM zijn. ANSI-tekenreeksen kunnen worden gebruikt met de Flags lid van de SEC_WINNT_AUTH_IDENTITY structuur ingesteld op SEC_WINNT_AUTH_IDENTITY_UNICODE als ze eerst worden geconverteerd naar Unicode- met behulp van de functie MultiByteToWideChar.

 

Om het eerste deel van de verificatie te starten, roept de client InitializeSecurityContext (Algemeen) om een eerste beveiligingstoken te verkrijgen dat moet worden verzonden in een verbindingsaanvraagbericht naar de server.

De client gebruikt de beveiligingstokengegevens die zijn ontvangen in de uitvoerbufferdescriptor om een bericht te genereren dat naar de server moet worden verzonden. De bouw van het bericht maakt deel uit van het toepassingsprotocol en moet door beide partijen worden begrepen.

De client controleert de retourstatus van InitializeSecurityContext (Algemeen) om te zien of de verificatie in één aanroep wordt voltooid. Een retourstatus van SEC_I_CONTINUE_NEEDED geeft aan dat het beveiligingsprotocol meerdere verificatieberichten vereist. Zie Contextbeheervoor meer informatie over contextfuncties.