Contextvereisten
Contextvereisten worden uitgedrukt als een combinatie van bitvlagmen die worden doorgegeven aan de functie InitializeSecurityContext (Algemeen) of AcceptSecurityContext (Algemeen). Deze vlaggen zijn op verschillende manieren van invloed op de context. Niet alle vlaggen zijn van toepassing op alle contexten. Sommige zijn alleen geldig voor de server, andere alleen voor de client.
De aanroeper gebruikt de parameter fContextReq van de InitializeSecurityContext (General) of AcceptSecurityContext (Algemeen) aanroep om een set vlaggen op te geven die de vereiste mogelijkheden aangeven. Wanneer de functie wordt geretourneerd, geeft de parameter pfContextAttr de kenmerken van de tot stand gebrachte context aan. De aanroeper bepaalt of de uiteindelijke contextkenmerken acceptabel zijn.
Vlaggen die zijn aangevraagd bij of geretourneerd door InitializeSecurityContext (Algemeen) worden voorafgegaan door ISC. De aanvragen van of geretourneerd door AcceptSecurityContext (Algemeen) worden voorafgegaan door ASC. Vlaggen die worden doorgegeven aan een functie, bevatten REQ, terwijl geretourneerde vlaggen RET bevatten. Een aanvraagvlag voor wederzijdse verificatie die wordt doorgegeven aan InitializeSecurityContext (Algemeen) is bijvoorbeeld ISC_REQ_MUTUAL_AUTH. Een server die wederzijdse verificatie aanvraagt, geeft ASC_REQ_MUTUAL_AUTH door aan AcceptSecurityContext (Algemeen). Als wederzijdse verificatie wordt bereikt, retourneert InitializeSecurityContext (Algemeen) ISC_RET_MUTUAL_AUTH en AcceptSecurityContext (Algemeen) ASC_RET_MUTUAL_AUTH retourneert. Als de beller wederzijdse verificatie aanvraagt, maar het beveiligingspakket aangeeft dat het niet kan worden uitgevoerd, moet de beller beslissen of de context moet worden geannuleerd of doorgaat.
In de volgende tabel worden de verschillende markeringen voor contextvereisten beschreven.
Vlag | Beschrijving |
---|---|
DELEGEREN |
De server in de transporttoepassing kan nieuwe beveiligingscontexten bouwen die de client imiteren die door andere servers worden geaccepteerd als contexten van de client. Gemachtigde werkt alleen als MUTUAL_AUTH is ingesteld. DELEGATE wordt momenteel alleen ondersteund door Kerberos-. Bovendien wordt Kerberos alleen gedelegeerd aan een server met de vlag TRUSTED_FOR_DELEGATION. Gebruik deze vlag niet voor beperkte delegering. |
MUTUAL_AUTH |
De communicerende partijen moeten hun identiteiten met elkaar verifiëren. Zonder MUTUAL_AUTH verifieert de client de identiteit van de server. Met MUTUAL_AUTH moet de server ook de identiteit verifiëren bij de client. Wanneer u het Schannel--beveiligingspakket gebruikt, stelt de server de ASC_RET_MUTUAL_AUTH constante alleen in de laatste aanroep in voor AcceptSecurityContext (Negotiate), nadat de certificaattoewijzing is voltooid. |
REPLAY_DETECT |
Het beveiligingspakket detecteert opnieuw afgespeelde pakketten en meldt de beller als een pakket opnieuw is afgespeeld. Het gebruik van deze vlag impliceert alle voorwaarden die zijn opgegeven door de integriteitsvlag. |
SEQUENCE_DETECT |
De context moet zijn toegestaan om de levering van pakketten later buiten de order te detecteren via de ondersteuningsfuncties voor berichten. Het gebruik van deze vlag impliceert alle voorwaarden die zijn opgegeven door de integriteitsvlag. |
VERTROUWELIJKHEID |
De context kan gegevens beveiligen tijdens de overdracht met behulp van de functies EncryptMessage (Algemeen) en DecryptMessage (Algemeen). De vlag VERTROUWELIJKHEID werkt niet als de gegenereerde context voor het gastaccount is. |
USE_SESSION_KEY |
Er moet worden onderhandeld over een nieuwe sessiesleutel. |
PROMPT_FOR_CREDS |
Als de client een interactieve gebruiker is, moet het beveiligingspakket, indien mogelijk, de gebruiker om de juiste referenties vragen. |
USE_SUPPLIED_CREDS |
Pakketspecifieke referentiegegevens zijn beschikbaar in de invoerbuffer. Het beveiligingspakket kan deze referenties gebruiken om de verbinding te verifiëren. |
SAVE_SUPPLIED_CREDS |
De opgegeven referenties moeten worden opgeslagen in de cache met de aanvullende referenties. |
ALLOCATE_MEMORY |
Het beveiligingspakket moet geheugen toewijzen. De aanroeper moet uiteindelijk de FreeContextBuffer-functie aanroepen om geheugen vrij te maken dat door het beveiligingspakket is toegewezen. |
USE_DCE_STYLE |
De beller verwacht een verificatie met drie been transactie. |
DATAGRAM |
Datagram semantiek moet worden gebruikt. Zie Datagram Contextsvoor meer informatie. |
VERBINDING |
Verbindingssemantiek moet worden gebruikt. Zie Connection-Oriented Contextenvoor meer informatie. |
STROOM |
Stream-semantiek moet worden gebruikt. Zie Stream Contextsvoor meer informatie. |
EXTENDED_ERROR |
Foutberichten voor de peer moeten worden gegenereerd als de context mislukt. |
INTEGRITEIT |
Bufferintegriteit kan worden gecontroleerd, maar er is geen sequentiëren of antwoorddetectie ingeschakeld. |
NO_INTEGRITY |
De vereiste INTEGRITY wordt genegeerd. |
IDENTIFICEREN |
Wanneer een server een context imiteert waarvoor deze vlag is ingesteld, levert die imitatie extreem beperkte toegang op. Imitatie met DE ID-set wordt gebruikt om de identiteit van de client te verifiëren. |