<div class="content" name="ROUTER_CUSTOM_IKEv2_POLICY_0" uuid="10f3a637-ab9c-49fe-b819-a5337ad54098"><p>The <b>ROUTER_CUSTOM_IKEv2_POLICY_0</b> structure<a id="Appendix_A_Target_166"></a><a aria-label="Product behavior note 166" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_166" data-linktype="relative-path">&lt;166&gt;</a> is used to get or set
configuration parameters to be used during <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_1da1a69c-0703-4351-a7a7-59ca46047566" data-linktype="relative-path">quick mode security association
(QM SA)</a> or <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_d334f339-380f-4f63-9e8a-04b4226653df" data-linktype="relative-path">main mode
security association (MM SA)</a> negotiation for IKEv2 <a href="https://go.microsoft.com/fwlink/?LinkId=90469" data-linktype="external">[RFC4306]</a> and L2TP
devices.</p><dl>
<dd>
<div><pre> typedef struct _ROUTER_CUSTOM_IKEv2_POLICY_0 {
   DWORD dwIntegrityMethod;
   DWORD dwEncryptionMethod;
   DWORD dwCipherTransformConstant;
   DWORD dwAuthTransformConstant;
   DWORD dwPfsGroup;
   DWORD dwDhGroup;
 } ROUTER_CUSTOM_IKEv2_POLICY_0,
  *PROUTER_CUSTOM_IKEv2_POLICY_0,
  ROUTER_CUSTOM_L2TP_POLICY_0,
  *PROUTER_CUSTOM_L2TP_POLICY_0;
</pre></div>
</dd></dl><p><b>dwIntegrityMethod: </b>Specifies the integrity
check algorithm to be negotiated during MM SA negotiation [RFC4306]. This
SHOULD have one of the following values. </p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>INTEGRITY_MD5 (0x0)</td>
  <td>Specifies MD5 hash algorithm.</td>
 </tr><tr>
  <td>INTEGRITY_SHA1 (0x1)</td>
  <td>Specifies SHA1 hash algorithm.</td>
 </tr><tr>
  <td>INTEGRITY_SHA_256 (0x2)</td>
  <td>Specifies a 256-bit SHA encryption.</td>
 </tr><tr>
  <td>INTEGRITY_SHA_384 (0x3)</td>
  <td>Specifies a 384-bit SHA encryption.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwEncryptionMethod: </b>Specifies the encryption
algorithm to be negotiated during MM SA negotiation [RFC4306]. This SHOULD have
one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>CIPHER_DES (0x0)</td>
  <td>Specifies DES encryption.</td>
 </tr><tr>
  <td>CIPHER_3DES (0x1)</td>
  <td>Specifies 3DES encryption.</td>
 </tr><tr>
  <td>CIPHER_AES_128 (0x2)</td>
  <td>Specifies AES-128 encryption.</td>
 </tr><tr>
  <td>CIPHER_AES_192 (0x3)</td>
  <td>Specifies AES-192 encryption.</td>
 </tr><tr>
  <td>CIPHER_AES_256 (0x4)</td>
  <td>Specifies AES-256 encryption.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwCipherTransformConstant: </b>Specifies the
encryption algorithm to be negotiated during QM SA negotiation [RFC4306]. This
SHOULD have one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>CIPHER_CONFIG_CBC_DES (0x1)</td>
  <td>DES (Data Encryption Standard) algorithm. CBC (Cipher Block Chaining) mode of operation. [RFC2410]</td>
 </tr><tr>
  <td>CIPHER_CONFIG_CBC_3DES (0x2)</td>
  <td>3DES algorithm. CBC mode of operation. [RFC2451]</td>
 </tr><tr>
  <td>CIPHER_CONFIG_CBC_AES_128 (0x3)</td>
  <td>AES-128 (Advanced Encryption Standard) algorithm. CBC mode of operation. [RFC3602]</td>
 </tr><tr>
  <td>CIPHER_CONFIG_CBC_AES_192 (0x4)</td>
  <td>AES-192 algorithm. CBC mode of operation. [RFC3602]</td>
 </tr><tr>
  <td>CIPHER_CONFIG_CBC_AES_256 (0x5)</td>
  <td>AES-256 algorithm. CBC mode of operation. [RFC3602]</td>
 </tr><tr>
  <td>CIPHER_CONFIG_GCM_AES_128 (0x6)</td>
  <td>AES-128 algorithm. GCM (Galois Counter Mode) mode of operation. [RFC4106]</td>
 </tr><tr>
  <td>CIPHER_CONFIG_GCM_AES_192 (0x7)</td>
  <td>AES-192 algorithm. GCM (Galois Counter Mode) mode of operation. [RFC4106]</td>
 </tr><tr>
  <td>CIPHER_CONFIG_GCM_AES_256 (0x8)</td>
  <td>AES-256 algorithm. GCM (Galois Counter Mode) mode of operation. [RFC4106]</td>
 </tr></tbody></table>
</dd></dl><p><b>dwAuthTransformConstant: </b>Specifies the hash
algorithm to be negotiated during QM SA negotiation [RFC4306]. This SHOULD have
one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>AUTH_CONFIG_HMAC_MD5_96 (0x0)</td>
  <td>Hash-based Message Authentication Code (HMAC) secret key authentication algorithm. MD5data integrity and data origin authentication algorithm. [RFC2403]</td>
 </tr><tr>
  <td>AUTH_CONFIG_HMAC_SHA_1_96 (0x1)</td>
  <td>HMAC secret key authentication algorithm. SHA-1 (Secure Hash Algorithm) data integrity and data origin authentication algorithm. [RFC2404]</td>
 </tr><tr>
  <td>AUTH_CONFIG_HMAC_SHA_256_128 (0x2)</td>
  <td>HMAC secret key authentication algorithm. SHA-256 data integrity and data origin authentication algorithm.</td>
 </tr><tr>
  <td>AUTH_CONFIG_GCM_AES_128 (0x3)</td>
  <td>GCM (Galois Counter Mode) secret key authentication algorithm. AES(Advanced Encryption Standard) data integrity and data origin authentication algorithm, with 128-bit key.</td>
 </tr><tr>
  <td>AUTH_CONFIG_GCM_AES_192 (0x4)</td>
  <td>GCM secret key authentication algorithm. AES data integrity and data origin authentication algorithm, with 192-bit key.</td>
 </tr><tr>
  <td>AUTH_CONFIG_GCM_AES_256 (0x5)</td>
  <td>GCM secret key authentication algorithm. AES data integrity and data origin authentication algorithm, with 256-bit key.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwPfsGroup: </b>Specifies the Diffie-Hellman
algorithm to be used for Quick Mode Perfect Forward Secrecy (PFS) [RFC4306]. This
SHOULD have one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>PFS_NONE (0x0)</td>
  <td>Specifies no Quick Mode PFS.</td>
 </tr><tr>
  <td>PFS_1 (0x1)</td>
  <td>Specifies Diffie- Hellman group 1.</td>
 </tr><tr>
  <td>PFS_2 (0x2)</td>
  <td>Specifies Diffie- Hellman group 2.</td>
 </tr><tr>
  <td>PFS_2048 (0x3)</td>
  <td>Specifies Diffie- Hellman group 2048.</td>
 </tr><tr>
  <td>PFS_ECP_256 (0x4)</td>
  <td>Specifies Diffie- Hellman ECP group 256.</td>
 </tr><tr>
  <td>PFS_ECP_384 (0x5)</td>
  <td>Specifies Diffie- Hellman ECP group 384.</td>
 </tr><tr>
  <td>PFS_MM (0x6)</td>
  <td>Use the same Diffie- Hellman as the main mode (MM) that contains this quick mode (QM).</td>
 </tr><tr>
  <td>PFS_24 (0x7)</td>
  <td>Specifies Diffie- Hellman group 24.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwDhGroup: </b>Specifies the type of
Diffie-Hellman group used for <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_294fef97-5790-4d41-971e-dd255b783e68" data-linktype="relative-path">Internet
Key Exchange (IKE)</a> key generation during MM SA negotiation [RFC4306]. This
SHOULD have one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>DH_GROUP_NONE (0x0)</td>
  <td>No key exchange algorithms defined.</td>
 </tr><tr>
  <td>DH_GROUP_1 (0x1)</td>
  <td>Do key exchange with Diffie-Hellman group 1.</td>
 </tr><tr>
  <td>DH_GROUP_2 (0x2)</td>
  <td>Do key exchange with Diffie-Hellman group 2.</td>
 </tr><tr>
  <td>DH_GROUP_14 (0x3)</td>
  <td>Do key exchange with Diffie-Hellman group 14.</td>
 </tr><tr>
  <td>DH_GROUP_2048 (0x3)</td>
  <td>Do key exchange with Diffie-Hellman group 14. This group was called Diffie-Hellman group 2048 when it was introduced. The name has been changed to match standard terminology.</td>
 </tr><tr>
  <td>DH_ECP_256 (0x4)</td>
  <td>Do key exchange with elliptic curve Diffie-Hellman 256.</td>
 </tr><tr>
  <td>DH_ECP_384 (0x5)</td>
  <td>Do key exchange with elliptic curve Diffie-Hellman 384.</td>
 </tr><tr>
  <td>DH_GROUP_24 (0x6)</td>
  <td>Do key exchange with Diffie-Hellman group 24.</td>
 </tr></tbody></table>
</dd></dl><p> </p></div>