SOCKET_SECURITY_SETTINGS_IPSEC 結構 (mstcpip.h)

SOCKET_SECURITY_SETTINGS_IPSEC 結構會指定 IPsec 特有的各種安全性需求和設定。

語法

typedef struct _SOCKET_SECURITY_SETTINGS_IPSEC {
  SOCKET_SECURITY_PROTOCOL SecurityProtocol;
  ULONG                    SecurityFlags;
  ULONG                    IpsecFlags;
  GUID                     AuthipMMPolicyKey;
  GUID                     AuthipQMPolicyKey;
  GUID                     Reserved;
  UINT64                   Reserved2;
  ULONG                    UserNameStringLen;
  ULONG                    DomainNameStringLen;
  ULONG                    PasswordStringLen;
  wchar_t                  AllStrings[0];
} SOCKET_SECURITY_SETTINGS_IPSEC;

成員

SecurityProtocol

類型: SOCKET_SECURITY_PROTOCOL

SOCKET_SECURITY_PROTOCOL值,識別要用於套接字的安全性通訊協議類型。 此成員必須設定為 SOCKET_SECURITY_PROTOCOL_IPSEC

SecurityFlags

類型: ULONG

一組旗標,可讓應用程式在套接字上設定特定的安全性需求。 可能的值定義於 Mstcpip.h 頭檔中。

意義
SOCKET_SETTINGS_GUARANTEE_ENCRYPTION
0x00000001
表示需要保證流量加密。 如果默認原則偏好使用不使用加密的保護方法,則應該設定此旗標。 如果因為任何原因而無法設定此旗標,則不會傳送封包,且不會建立連線。
SOCKET_SETTINGS_ALLOW_INSECURE
0x00000002
表示允許純文本連線。 如果設定此旗標,部分或所有傳送的封包將會以純文本傳送,特別是無法交涉對等的安全性時。
注意 如果未設定此旗標,保證封包永遠不會以純文本傳送,即使安全性交涉失敗也一樣。
 

IpsecFlags

類型: ULONG

IPsec 安全性設定的旗標。 可能的值定義於 Mstcpip.h 頭檔中。

意義
SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION
0x00000001
設定此旗標時,會省略套接字的 IPsec 篩選具現化。 當應用程式知道 IPsec 篩選和原則已經存在其流量時,應該設定此旗標。 在具有 IPsec 原則的網域上執行的應用程式也可以設定此旗標。

AuthipMMPolicyKey

類型: GUID

AuthIP 主要模式提供者內容的 Windows 篩選平臺密鑰 GUID。 如果應用程式想要使用自定義主要模式原則,它應該先使用 FwpmProviderContextAdd0 函式來新增對應的提供者內容,並在此成員中指定傳回的索引鍵。 這個欄位會忽略零的 GUID。

AuthipQMPolicyKey

類型: GUID

AuthIp 快速模式提供者內容的 Windows 篩選平臺密鑰。 如果應用程式想要使用自定義快速模式原則,它應該先使用 FwpmProviderContextAdd0 函式來新增對應的提供者內容,並在此字段中指定傳回的索引鍵。 這個欄位會忽略零的 GUID。

Reserved

類型: GUID

保留供未來使用。

Reserved2

類型: UINT64

保留供未來使用。

UserNameStringLen

類型: ULONG

AllStrings 成員中用戶名稱的長度,以位元組為單位。

DomainNameStringLen

類型: ULONG

AllStrings 成員中域名的長度,以位元組為單位。

PasswordStringLen

類型: ULONG

AllStrings 成員中密碼的長度,以位元組為單位。

AllStrings[0]

類型: wchar_t[]

字串,包含用戶名稱、功能變數名稱,以及以這個順序串連的密碼。

備註

Windows Vista 和更新版本支援 SOCKET_SECURITY_SETTINGS_IPSEC 結構。

SOCKET_SECURITY_SETTINGS_IPSEC 結構是要供進階應用程式使用,其需要更多彈性,並想要為其流量自定義IPSec原則。 呼叫 WSASetSocketSecurity 函式時,SOCKET_SECURITY_SETTINGS_IPSEC結構的指標必須轉換成SOCKET_SECURITY_SETTINGS結構類型,才能在套接字上啟用和套用安全性。

SOCKET_SECURITY_SETTINGS_IPSEC 結構的 SecurityProtocol 成員必須設定為 SOCKET_SECURITY_PROTOCOL_IPSEC,而不是SOCKET_SECURITY_PROTOCOL_DEFAULT

為了簡化 IPsec) 部署 (因特網通訊協定安全性,Windows Vista 和更新版本支援增強版本的 Internet Key Exchange (IKE) 通訊協定,稱為驗證因特網通訊協定 (AuthIP) 。 AuthIP 在許多設定中提供簡化的 IPsec 原則設定和維護,以及 IPsec 對等驗證的額外彈性。

SOCKET_SECURITY_SETTINGS_IPSEC 結構中指定的 某些 IPsec 設定可能會與套用至套接字上網路流量的實際設定不同。 例如,當應用程式指定自定義主要模式或快速模式原則時,可能會發生這種情況,但優先順序較高的不同原則 (網域原則,例如,) 指定相同流量的衝突設定。 若要注意這類衝突,應用程式可以使用 Windows 篩選平臺 API 來查詢所套用的原則並訂閱通知。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 mstcpip.h

另請參閱

關於 Windows 篩選平臺

FwpmProviderContextAdd0

SOCKET_SECURITY_PROTOCOL

SOCKET_SECURITY_SETTINGS

使用安全套接字延伸模組

WSASetSocketSecurity

Windows 篩選平台

Windows 篩選平臺 API 函式

Winsock 安全套接字延伸模組