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) |