IPSEC_OFFLOAD_V2_ADD_SA-Struktur (ndis.h)
[Das IPsec-Aufgabenauslagerungsfeature ist veraltet und sollte nicht verwendet werden.]
Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur definiert Informationen zu einer Sicherheitszuordnung, die ein Miniporttreiber einer NIC hinzufügen soll.
Syntax
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;
Member
Header
Die NDIS_OBJECT_HEADER-Struktur für die IPSEC_OFFLOAD_V2_ADD_SA-Struktur. Legen Sie den Typmember der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_DEFAULT, das Revisionselement auf NDIS_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1 und das Element Size auf NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1 fest.
Next
Ein Zeiger auf eine IPSEC_OFFLOAD_V2_ADD_SA Struktur, die die nächste Struktur in einer verknüpften Liste ist. Wenn der Zeiger NULL ist, ist die aktuelle Struktur die letzte Struktur in der Liste.
NumExtHdrs
Die Anzahl der IPsec-Erweiterungsheader. Dieser Member kann einer der folgenden Werte sein.
Art der Sicherheit | Erweiterungsheader |
---|---|
Nur AH-Authentifizierung | 1 |
Nur ESP-Authentifizierung | 1 |
Nur ESP-Verschlüsselung | 1 |
ESP-Authentifizierung plus Verschlüsselung | 1 |
AH plus ESP-Authentifizierung plus Verschlüsselung | 2 |
UDP ESP | 1 |
Flags
Eine Bitmaske, die wie folgt angibt, ob die hinzugefügte SA eine eingehende oder ausgehende SA ist:
IPSEC_OFFLOAD_V2_IPv6
Wenn dieses Flag festgelegt ist, sind die Adressen IPv6. Andernfalls sind die Adressen IPv4.
IPSEC_OFFLOAD_V2_INBOUND
Wenn dieses Flag festgelegt ist, ist die SA eingehend. Andernfalls ist die SA ausgehend.
IPv4Endpoints
Die IPv4-Endpunktadressen. Diese Struktur enthält die folgenden Member:
IPv4Endpoints.SrcAddr
Die IPv4-Adresse des Quellhosts (der Host, der die Pakete sendet).
IPv4Endpoints.DestAddr
Die IPv4-Adresse des Zielhosts (der Host, der die Pakete empfängt).
IPv6Endpoints
Die IPv6-Endpunktadressen. Diese Struktur enthält die folgenden Member:
IPv6Endpoints.SrcAddr[16]
Die IPv6-Adresse des Quellhosts (der Host, der die Pakete sendet).
IPv6Endpoints.DestAddr[16]
Die IPv6-Adresse des Zielhosts (der Host, der die Pakete empfängt).
OffloadHandle
Das Handle für die neu erstellte SA. Der Miniporttreiber stellt diesen Ziehpunkt bereit, bevor er die
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA Anforderung. Der TCP/IP-Transport muss dieses Handle in der
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO oder NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO Struktur vor der Übergabe eines Sendepakets an den Miniporttreiber. Der TCP/IP-Transport muss dieses Handle auch beim Löschen der SA mit einem angeben. OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA Anforderung.
UdpEspEncapsulation
Der UDP ESP-Kapselungstyp. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
Es wird keine UDP-Kapselung verwendet.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
Ein ESP-gekapseltes Transportmoduspaket wird von UDP gekapselt.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
Der Tunnelmodusteil eines Pakets ist UDP-gekapselt. Der Transportmodusteil des Pakets ist nicht UDP gekapselt und nicht ESP-geschützt.
IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL
Der Tunnelmodusteil eines Pakets ist UDP-gekapselt. Der Transportmodusteil eines Pakets ist nicht UDP-gekapselt, sondern ESP-geschützt.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL
Der Tunnelmodusteil eines Pakets ist nicht UDP-gekapselt. Der Transportmodusteil eines Pakets ist UDP-gekapselt und ESP-geschützt.
SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]
Ein Array mit zwei Elementen, die die Informationen zu den IPsec-Vorgängen (AH, ESP oder beide) für die SA enthalten. Die Anzahl der bereitgestellten Elemente wird im NumExtHdrs-Element angegeben. Die Informationen für die einzelnen IPsec-Vorgänge sind als formatiert. IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur, die unten beschrieben wird.
Der TCP/IP-Transport gibt eine oder zwei IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Strukturen im Puffer bei SecAssoc an. Jede IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION-Struktur gibt den Typ des Vorgangs an – Authentifizierung oder Ver-/Entschlüsselung –, für den die in der -Struktur angegebene SA verwendet werden soll. Die Reihenfolge der IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Strukturen im Array gibt die Reihenfolge an, in der der Miniporttreiber die Vorgänge für jede SA ausführen soll. Es wird nur eine Kombination von Vorgängen unterstützt: Die Ver-/Entschlüsselung (ESP) gefolgt von der Authentifizierung (AH).
KeyLength
Die Länge des Puffers bei KeyData in Bytes.
KeyData[1]
Ein Array mit variabler Länge, das Schlüssel für die SAs enthält, die unter SecAssoc angegeben werden. Wenn sowohl ein Verschlüsselungsalgorithmus als auch ein Authentifizierungsalgorithmus von den Elementen EncryptionAlgorithm und AuthenticationAlgorithm eines IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur enthält der Puffer bei KeyData Schlüsselinformationen für eine, gefolgt von der anderen. Der Anfang und die Länge des Schlüssels werden durch die Elemente KeyOffsetBytes bzw . KeyLength angegeben.
Hinweise
Diese Struktur ist veraltet. Verwenden Sie stattdessen IPSEC_OFFLOAD_V2_ADD_SA_EX .
Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur gibt eine Sicherheits-SA an, die hinzugefügt werden soll, und einen Zeiger auf die nächste IPSEC_OFFLOAD_V2_ADD_SA-Struktur in einer verknüpften Liste. Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur wird mit der OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID.
Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur gibt die Quelle und das Ziel sowie die IP-Protokolle an, für die die SAs gelten. Dieser Filter bezieht sich auf eine Transportmodusverbindung, d. h. eine End-to-End-Verbindung zwischen zwei Hosts. Wenn die angegebene Verbindung über einen Tunnel hergestellt wird, werden die Quell- und Zieladressen des Tunnels angegeben.
Wenn ein Member auf 0 festgelegt ist, wird dieser Parameter nicht verwendet, um Pakete nach den angegebenen SAs zu filtern. Wenn beispielsweise SrcAddr auf 0 festgelegt ist, können die angegebenen SAs auf ein Paket angewendet werden, das eine beliebige Quelladresse enthält. Wenn alle Filterparameter auf 0 (null) festgelegt sind, gelten die angegebenen SAs für alle Quellhosts, die einen beliebigen Pakettyp an einen Zielhost senden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.1 und 6.20. Verwenden Sie für NDIS 6.30 und höher IPSEC_OFFLOAD_V2_ADD_SA_EX. |
Kopfzeile | ndis.h (include Ndis.h) |