Generazione della risposta alla richiesta di digest

Dopo aver ricevuto una richiesta di verifica dal server, il client crea la risposta alla richiesta di verifica digest chiamando la funzione InitializeSecurityContext (Digest). Questa funzione genera un'impronta digitale hash MD5 usando informazioni sulla risorsa e i dati richiesti dalla richiesta e restituisce un token di sicurezza che rappresenta un contesto di sicurezza parziale. Per completare l'autenticazione, il client deve restituire il token al server che ha emesso la richiesta di verifica.

Nella tabella seguente vengono descritti i parametri della funzione InitializeSecurityContext (Digest) e i valori da fornire durante la costruzione di una risposta di verifica digest.

Parametro Descrizione
fContextReq
Attributi del contesto di sicurezza richiesti dal client. Per altre informazioni, vedere Digest Challenge Response Context Requirements.For more information, see Digest Challenge Response Context Requirements.
pszTargetName
HTTP: stringa con terminazione Null che specifica l'URL di destinazione.
SASL: stringa con terminazione Null che specifica la destinazione DNS/SPN.
pInput
Buffer che contengono informazioni richieste dal provider di servizi condivisi digest. Per altre informazioni, vedere Buffer di input per la risposta alla richiesta di verifica del digest.
pfContextAttr
Riceve gli attributi supportati dal contesto di sicurezza restituito. Per altre informazioni, vedere Digest Challenge Response Context Requirements.For more information, see Digest Challenge Response Context Requirements.
pOutput
Indirizzo di un buffer di tipo SECBUFFER_TOKEN che riceve un token di sicurezza da inviare al server.

Requisiti del contesto di risposta alla richiesta di verifica digest

I requisiti di contesto sono flag che determinano:

  • Indica se Microsoft Digest funziona come meccanismo SASL o protocollo di autenticazione HTTP.
  • Qualità della protezione supportata dal contesto di sicurezza condiviso dal client e dal server.

Per impostazione predefinita, Microsoft Digest funziona come meccanismo SASL.

I requisiti di contesto vengono specificati come flag passati al parametro fContextReq della funzione InitializeSecurityContext . I flag influiscono sulla qualità della protezione del contesto di sicurezza controllando la direttiva qop nella risposta alla richiesta di verifica.

Per impostazione predefinita, la direttiva qop è impostata su "auth". Per generare una risposta di verifica che imposta qop su "auth-int", è necessario che si verifichi quanto segue:

  1. La richiesta digest deve avere una direttiva qop impostata su "auth-int".

  2. Il client deve specificare uno o più dei flag seguenti:

    • ISC_REQ_INTEGRITY
    • ISC_REQ_REPLAY_DETECT
    • ISC_REQ_SEQUENCE_DETECT

Solo per SASL: generare una risposta di verifica con la direttiva qop impostata su "auth-conf" specificando il flag ISC_REQ_CONFIDENTIALITY. Poiché questo flag non è valido per l'autenticazione HTTP, non può essere usato con il flag ISC_REQ_HTTP.

Verifica della qualità della protezione

Il client deve esaminare i flag degli attributi del contesto di sicurezza restituiti nel parametro pfContextAttr della funzione InitializeSecurityContext. Il client deve inviare la risposta di richiesta al server solo se la qualità della protezione indicata dai flag è sufficiente ai propri scopi. I flag pertinenti possono essere qualsiasi combinazione di quanto segue:

  • ISC_RET_INTEGRITY
  • ISC_RET_REPLAY_DETECT
  • ISC_RET_SEQUENCE_DETECT
  • ISC_RET_CONFIDENTIALITY (solo contesti SASL)

Per altre informazioni sulla direttiva qop, vedere Qualità della protezione e crittografie.

Per altre informazioni sulle direttive di risposta alla richiesta di verifica, vedere Contenuto di una risposta alla richiesta di verifica digest.