struttura IPSEC_OFFLOAD_V2_ADD_SA (ndis.h)

[La funzionalità Offload attività IPsec è deprecata e non deve essere usata.]

La struttura IPSEC_OFFLOAD_V2_ADD_SA definisce le informazioni su un'associazione di sicurezza (SA) che un driver miniport deve aggiungere a una scheda di interfaccia di rete.

Sintassi

typedef struct _IPSEC_OFFLOAD_V2_ADD_SA {
  NDIS_OBJECT_HEADER                    Header;
  PIPSEC_OFFLOAD_V2_ADD_SA              Next;
  ULONG                                 NumExtHdrs;
  ULONG                                 Flags;
  union {
    struct {
      IPAddr SrcAddr;
      IPAddr DestAddr;
    } IPv4Endpoints;
    struct {
      UCHAR SrcAddr[16];
      UCHAR DestAddr[16];
    } IPv6Endpoints;
  };
  NDIS_HANDLE                           OffloadHandle;
  ULONG                                 UdpEspEncapsulation;
  IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS];
  ULONG                                 KeyLength;
  UCHAR                                 KeyData[1];
} IPSEC_OFFLOAD_V2_ADD_SA, *PIPSEC_OFFLOAD_V2_ADD_SA;

Members

Header

Struttura NDIS_OBJECT_HEADER per la struttura IPSEC_OFFLOAD_V2_ADD_SA. Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_DEFAULT, il membro Revision su NDIS_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1 e il membro Size su NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1.

Next

Puntatore a una struttura IPSEC_OFFLOAD_V2_ADD_SA che rappresenta la struttura successiva in un elenco collegato. Se il puntatore è NULL, la struttura corrente è l'ultima struttura nell'elenco.

NumExtHdrs

Numero di intestazioni di estensione IPsec. Questo membro può essere uno dei valori seguenti.

Tipo di sicurezza Intestazioni di estensione
Solo autenticazione AH 1
Solo autenticazione ESP 1
Solo crittografia ESP 1
Autenticazione ESP e crittografia 1
AH più autenticazione ESP e crittografia 2
UDP ESP 1

Flags

Maschera di bit che indica se l'amministratore di sistema aggiunto è un sa in ingresso o in uscita, come indicato di seguito:

IPSEC_OFFLOAD_V2_IPv6

Se questo flag è impostato, gli indirizzi sono IPv6. In caso contrario, gli indirizzi sono IPv4

IPSEC_OFFLOAD_V2_INBOUND

Se questo flag è impostato, l'amministratore di sistema è in ingresso. In caso contrario, l'amministratore di sistema è in uscita.

IPv4Endpoints

Indirizzi dell'endpoint IPv4. Questa struttura contiene i membri seguenti:

IPv4Endpoints.SrcAddr

Indirizzo IPv4 dell'host di origine (host che invia i pacchetti).

IPv4Endpoints.DestAddr

Indirizzo IPv4 dell'host di destinazione (host che riceve i pacchetti).

IPv6Endpoints

Indirizzi dell'endpoint IPv6. Questa struttura contiene i membri seguenti:

IPv6Endpoints.SrcAddr[16]

Indirizzo IPv6 dell'host di origine (host che invia i pacchetti).

IPv6Endpoints.DestAddr[16]

Indirizzo IPv6 dell'host di destinazione (host che riceve i pacchetti).

OffloadHandle

Handle per l'amministratore di sicurezza appena creato. Il driver miniport fornisce questo handle prima di completare il
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA richiesta. Il trasporto TCP/IP deve specificare questo handle nel
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO o NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO struttura prima di passare un pacchetto di invio al driver miniport. Il trasporto TCP/IP deve inoltre specificare questo handle durante l'eliminazione dell'sa con un OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA richiesta.

UdpEspEncapsulation

Tipo di incapsulamento UDP ESP. Questo membro può essere uno o più dei flag seguenti:

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

Non viene usato alcun incapsulamento UDP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

Un pacchetto in modalità trasporto incapsulato ESP viene incapsulato da UDP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

La parte in modalità tunnel di un pacchetto è incapsulata da UDP. La parte in modalità trasporto del pacchetto non è incapsulata da UDP e non è protetta da ESP.

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

La parte in modalità tunnel di un pacchetto è incapsulata da UDP. La parte in modalità trasporto di un pacchetto non è incapsulata da UDP, ma è protetta da ESP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

La parte in modalità tunnel di un pacchetto non è incapsulata da UDP. La parte in modalità trasporto di un pacchetto è incapsulata da UDP e protetta da ESP.

SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]

Matrice con due elementi che contengono le informazioni sulle operazioni IPsec (AH, ESP o entrambe) per l'amministratore di sistema. Il numero di elementi forniti viene specificato nel membro NumExtHdrs . Le informazioni per ogni operazione IPsec vengono formattate come IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION struttura, descritta di seguito.

Il trasporto TCP/IP specifica una o due strutture IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION nel buffer in SecAssoc . Ogni struttura IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION indica il tipo di operazione-autenticazione o crittografia/decrittografia- per cui deve essere utilizzata l'amministratore di sistema specificato nella struttura. L'ordine delle strutture IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION nella matrice indica l'ordine in cui il driver miniport deve eseguire le operazioni per ogni sa. È supportata una sola combinazione di operazioni: crittografia/decrittografia (ESP) seguita dall'autenticazione (AH).

KeyLength

Lunghezza, in byte, del buffer in KeyData .

KeyData[1]

Matrice a lunghezza variabile che contiene le chiavi per gli account del servizio gestito specificati in SecAssoc . Se sia un algoritmo di crittografia che un algoritmo di autenticazione vengono specificati dai membri EncryptionAlgorithm e AuthenticationAlgorithm di un IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION struttura, il buffer in KeyData contiene informazioni sulla chiave per uno seguito dall'altro. L'inizio e la lunghezza della chiave vengono specificati rispettivamente dai membri KeyOffsetBytes e KeyLength .

Commenti

Questa struttura è obsoleta, usare invece IPSEC_OFFLOAD_V2_ADD_SA_EX .

La struttura IPSEC_OFFLOAD_V2_ADD_SA specifica un sa di sicurezza che deve essere aggiunto e un puntatore alla struttura IPSEC_OFFLOAD_V2_ADD_SA successiva in un elenco collegato. La struttura IPSEC_OFFLOAD_V2_ADD_SA viene utilizzata con l'oggetto OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID.

La struttura IPSEC_OFFLOAD_V2_ADD_SA specifica l'origine e la destinazione, nonché i protocolli IP a cui si applicano gli account di sicurezza. Questo filtro riguarda una connessione in modalità trasporto, ovvero una connessione end-to-end tra due host. Se la connessione specificata viene effettuata tramite un tunnel, vengono specificati gli indirizzi di origine e di destinazione del tunnel.

Se un membro è impostato su zero, tale parametro non viene usato per filtrare i pacchetti per gli account del servizio gestito specificati. Ad esempio, se SrcAddr è impostato su zero, gli account di servizio specificati possono essere applicati a un pacchetto contenente qualsiasi indirizzo di origine. Se tutti i parametri del filtro sono impostati su zero, gli account di accesso specificati si applicano a qualsiasi host di origine che invia qualsiasi tipo di pacchetto a qualsiasi host di destinazione.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.1 e 6.20. Per NDIS 6.30 e versioni successive, usare IPSEC_OFFLOAD_V2_ADD_SA_EX.
Intestazione ndis.h (include Ndis.h)

Vedi anche

IPSEC_OFFLOAD_V2_ADD_SA_EX

IPSEC_OFFLOAD_V2_ALGORITHM_INFO IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO

NDIS_OBJECT_HEADER

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA