Freigeben über


OFFLOAD_IPSEC_ADD_SA-Struktur (ntddndis.h)

Die OFFLOAD_IPSEC_ADD_SA-Struktur enthält Informationen zu jeder Sicherheitszuordnung, die ein Miniporttreiber einer NIC hinzufügt.

Syntax

typedef struct _OFFLOAD_IPSEC_ADD_SA {
  IPAddr                       SrcAddr;
  IPMask                       SrcMask;
  IPAddr                       DestAddr;
  IPMask                       DestMask;
  ULONG                        Protocol;
  USHORT                       SrcPort;
  USHORT                       DestPort;
  IPAddr                       SrcTunnelAddr;
  IPAddr                       DestTunnelAddr;
  USHORT                       Flags;
  SHORT                        NumSAs;
  OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS];
  HANDLE                       OffloadHandle;
  ULONG                        KeyLen;
  UCHAR                        KeyMat[1];
} OFFLOAD_IPSEC_ADD_SA, *POFFLOAD_IPSEC_ADD_SA;

Member

SrcAddr

Die IP-Adresse des Quellhosts (der Host, der die Pakete sendet).

SrcMask

Die Subnetzmaske für die Quell-IP-Adresse.

DestAddr

Die IP-Adresse des Zielhosts (der Host, der die Pakete empfängt).

DestMask

Die Subnetzmaske für die Ziel-IP-Adresse.

Protocol

Das IP-Protokoll. Sie können eine beliebige Kombination von IP-Protokolltypen angeben (z. B. TCP, UDP oder ICMP). Die Codierung des Protokolls ist identisch mit der des Felds Protokoll in einem IP-Header. Wenn Protokoll auf Null festgelegt ist, gilt die SA für jedes IP-Protokoll.

SrcPort

Ein TCP- oder UDP-Quellport. Wenn SrcPort auf 0 festgelegt ist, gilt die SA für jeden TCP/UDP-Quellport.

DestPort

Ein TCP- oder UDP-Zielport. Wenn DestPort auf 0 festgelegt ist, gilt die SA für jeden TCP/UDP-Quellport.

SrcTunnelAddr

Die IP-Adresse für den Quellendpunkt, z. B. einen Connector, eines Tunnels. Der Miniporttreiber verwendet
SrcTunnelAddr als Quelladresse für den Tunnel-IP-Header von Paketen, die an die SA gesendet werden. SrcTunnelAddr wird nur für eine SA angegeben, die für den Tunnelteil eines Pakets gilt. SrcTunnelAddr ist für eine SA, die für den Transportteil eines Pakets gilt, auf Null festgelegt.

DestTunnelAddr

Die IP-Adresse für den Zielendpunkt, z. B. einen Connector, eines Tunnels. Der Miniporttreiber verwendet DestTunnelAddr als Zieladresse für den Tunnel-IP-Header von Paketen, die an die SA gesendet werden. DestTunnelAddr wird nur für eine SA angegeben, die für den Tunnelteil eines Pakets gilt. DestTunnelAddr ist für eine SA, die für den Transportteil eines Pakets gilt, auf Null festgelegt.

Flags

Eine Bitmaske, die angibt, ob es sich bei der hinzugefügten SA um eine eingehende oder ausgehende SA handelt:

OFFLOAD_INBOUND_SA

Gibt eine eingehende SA an.

OFFLOAD_OUTBOUND_SA

Gibt eine ausgehende SA an.

NumSAs

Die Anzahl der Elemente im SecAssoc-Array . Jedes Element im Array ist ein OFFLOAD_SECURITY_ASSOCIATION Struktur.

SecAssoc[OFFLOAD_MAX_SAS]

Ein Array mit variabler Länge, das die Informationen zu den Internetprotokollsicherheitsvorgängen (Internet Protocol Security, IPsec) (AH oder ESP) für die Sa enthält. Die Informationen für die einzelnen IPsec-Vorgänge sind als OFFLOAD_SECURITY_ASSOCIATION-Struktur formatiert.

Der TCP/IP-Transport gibt eine oder zwei OFFLOAD_SECURITY_ASSOCIATION Strukturen im Puffer bei SecAssoc an. Jede OFFLOAD_SECURITY_ASSOCIATION-Struktur gibt den Typ des Vorgangs an – Authentifizierung oder Verschlüsselung/Entschlüsselung –, für den die in der Struktur angegebene SA verwendet werden soll. Die Reihenfolge der OFFLOAD_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 Verschlüsselung/Entschlüsselung (ESP) gefolgt von der Authentifizierung (AH).

OffloadHandle

Das Handle für die neu erstellte SA. Der Miniporttreiber stellt diesen Griff bereit, bevor er die
OID_TCP_TASK_IPSEC_ADD_SA Anforderung. Der TCP/IP-Transport muss dieses Handle in der NDIS_IPSEC_PACKET_INFO-Struktur angeben, bevor ein Sendepaket an den Miniporttreiber übergeben wird. Der TCP/IP-Transport muss diesen Handle auch angeben, wenn die SA mit einem gelöscht wird. OID_TCP_TASK_IPSEC_DELETE_SA Anforderung.

KeyLen

Die Länge des Puffers bei KeyMat in Bytes.

KeyMat[1]

Ein Array mit variabler Länge, das Schlüssel für die in SecAssoc angegebenen SAs enthält. Wenn sowohl ein Vertraulichkeitsalgorithmus (Verschlüsselung/Entschlüsselung) als auch ein Integritätsalgorithmus (Authentifizierung) von den Elementen ConfAlgo und IntegrityAlgo eines angegeben werden OFFLOAD_SECURITY_ASSOCIATION Struktur enthält der Puffer bei KeyMat zuerst Schlüsselinformationen für den Bestätigungsalgorithmus, gefolgt von Schlüsselinformationen für den Integritätsalgorithmus.

Die Länge jedes Schlüssels im Puffer bei KeyMat wird von algoKeylen in der OFFLOAD_ALGO_INFO-Struktur angegeben, die den Vertraulichkeits- oder Integritätsalgorithmus angibt. (Eine OFFLOAD_ALGO_INFO-Struktur ist ein Element einer OFFLOAD_SECURITY_ASSOCIATION-Struktur.)

Hinweise

Die OFFLOAD_IPSEC_ADD_SA-Struktur wird in der OID_TCP_TASK_IPSEC_ADD_SA OID verwendet.

Anforderungen

Anforderung Wert
Header ntddndis.h (include Ndis.h)

Weitere Informationen

NDIS_IPSEC_PACKET_INFO

OFFLOAD_ALGO_INFO

OFFLOAD_SECURITY_ASSOCIATION

OID_TCP_TASK_IPSEC_ADD_SA

OID_TCP_TASK_IPSEC_DELETE_SA