struttura OFFLOAD_IPSEC_ADD_SA (ntddndis.h)

La struttura OFFLOAD_IPSEC_ADD_SA contiene informazioni per ogni associazione di sicurezza (SA) aggiunta da un driver miniport a una scheda di interfaccia di rete.

Sintassi

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;

Members

SrcAddr

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

SrcMask

Subnet mask per l'indirizzo IP di origine.

DestAddr

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

DestMask

Subnet mask per l'indirizzo IP di destinazione.

Protocol

Protocollo IP. È possibile specificare qualsiasi combinazione di tipi di protocollo IP, ad esempio TCP, UDP o ICMP. La codifica del protocollo è identica a quella del campo Protocollo in un'intestazione IP. Se Protocol è impostato su zero, l'amministratore di sistema si applica a qualsiasi protocollo IP.

SrcPort

Porta TCP o UDP di origine. Se SrcPort è impostato su zero, l'amministratore di sistema si applica a qualsiasi porta TCP/UDP di origine.

DestPort

Porta TCP o UDP di destinazione. Se DestPort è impostato su zero, l'amministratore di sistema si applica a qualsiasi porta TCP/UDP di origine.

SrcTunnelAddr

Indirizzo IP per l'endpoint di origine, ad esempio un connettore, di un tunnel. Il driver miniport usa
SrcTunnelAddr come indirizzo di origine per l'intestazione IP del tunnel di pacchetti inviati all'amministratore di sistema. SrcTunnelAddr viene specificato solo per un sa che si applica alla parte del tunnel di un pacchetto. SrcTunnelAddr è impostato su zero per un sa che si applica alla parte di trasporto di un pacchetto.

DestTunnelAddr

Indirizzo IP per l'endpoint di destinazione, ad esempio un connettore, di un tunnel. Il driver miniport usa DestTunnelAddr come indirizzo di destinazione per l'intestazione IP del tunnel dei pacchetti inviati nell'sa. DestTunnelAddr viene specificato solo per un sa che si applica alla parte del tunnel di un pacchetto. DestTunnelAddr è impostato su zero per un sa che si applica alla parte di trasporto di un pacchetto.

Flags

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

OFFLOAD_INBOUND_SA

Specifica un sa in ingresso.

OFFLOAD_OUTBOUND_SA

Specifica un sa in uscita.

NumSAs

Numero di elementi nella matrice SecAssoc . Ogni elemento nella matrice è un OFFLOAD_SECURITY_ASSOCIATION struttura.

SecAssoc[OFFLOAD_MAX_SAS]

Matrice a lunghezza variabile che contiene le informazioni sulle operazioni IPsec (Internet Protocol Security) (AH o ESP) per l'amministratore di sistema. Le informazioni per ogni operazione IPsec vengono formattate come struttura OFFLOAD_SECURITY_ASSOCIATION.

Il trasporto TCP/IP specifica una o due strutture OFFLOAD_SECURITY_ASSOCIATION nel buffer in SecAssoc . Ogni struttura OFFLOAD_SECURITY_ASSOCIATION indica il tipo di operazione-autenticazione o crittografia/decrittografia, per cui deve essere utilizzato l'amministratore di sistema specificato nella struttura. L'ordine delle strutture OFFLOAD_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).

OffloadHandle

Handle per l'amministratore di sicurezza appena creato. Il driver miniport fornisce questo handle prima di completare il
OID_TCP_TASK_IPSEC_ADD_SA richiesta. Il trasporto TCP/IP deve specificare questo handle nella struttura NDIS_IPSEC_PACKET_INFO 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_DELETE_SA richiesta.

KeyLen

Lunghezza, in byte, del buffer in KeyMat .

KeyMat[1]

Matrice a lunghezza variabile che contiene chiavi per gli account di sicurezza specificati in SecAssoc . Se sia un algoritmo di riservatezza (crittografia/decrittografia) che un algoritmo di integrità (autenticazione) vengono specificati dai membri ConfAlgo e IntegrityAlgo di un oggetto OFFLOAD_SECURITY_ASSOCIATION struttura, il buffer in KeyMat contiene prima le informazioni chiave per l'algoritmo di conferma, seguito immediatamente dalle informazioni chiave per l'algoritmo di integrità.

La lunghezza di ogni chiave nel buffer in KeyMat viene specificata da algoKeylen nella struttura OFFLOAD_ALGO_INFO che specifica la riservatezza o l'algoritmo di integrità. Una struttura OFFLOAD_ALGO_INFO è un membro di una struttura OFFLOAD_SECURITY_ASSOCIATION.

Commenti

La struttura OFFLOAD_IPSEC_ADD_SA viene utilizzata nell'OID OID_TCP_TASK_IPSEC_ADD_SA .

Requisiti

Requisito Valore
Intestazione ntddndis.h (include Ndis.h)

Vedi anche

NDIS_IPSEC_PACKET_INFO

OFFLOAD_ALGO_INFO

OFFLOAD_SECURITY_ASSOCIATION

OID_TCP_TASK_IPSEC_ADD_SA

OID_TCP_TASK_IPSEC_DELETE_SA