New-NetIPsecQuickModeCryptoProposal

Creates a quick mode cryptographic proposal that specifies a suite of cryptographic protocols to offer in IPsec quick mode negotiations with other computers.

Syntax

New-NetIPsecQuickModeCryptoProposal
   [-Encryption <EncryptionAlgorithm>]
   [-AHHash <HashAlgorithm>]
   [-ESPHash <HashAlgorithm>]
   [-MaxKiloBytes <UInt64>]
   [-MaxMinutes <UInt64>]
   [-Encapsulation <IPsecEncapsulation>]
   [<CommonParameters>]

Description

The New-NetIPsecQuickModeCryptoProposal cmdlet creates a single cryptographic proposal to be used in quick mode negotiations.

A NetIPsecQuickModeCryptoProposal object provides the necessary security parameters for the negotiation of a quick mode security association (SA). The IPsec protocol, either AH or ESP, is provide in the Encapsulation parameter, the hashing algorithm for data integrity and authentication in the AHHash and ESPHash parameters, and the algorithm for encryption, if requested, in the Encryption parameter.

Multiple NetIPsecQuickModeCryptoProposal fields are grouped into a single NetIPsecQuickModeCryptoSet object. The quick mode exchange will use the first proposal that the peers have in common. A NetIPsecPhase2AuthSet object and a NetIPsecMainModeCryptoSet object get associated to a NetIPsecRule object to provide all the necessary SA parameters for customized quick mode negotiations.

Examples

EXAMPLE 1

PS C:\>$QMProposal = New-NetIPsecQuickModeCryptoProposal -Encapsulation ESP -ESPHash SHA1 -Encryption AES128



PS C:\>$QMCryptoSet = New-NetIPsecQuickModeCryptoSet -DisplayName "esp:sha1-des3" -Proposal $QMProposal



PS C:\>New-NetIPSecRule -DisplayName "Tunnel from HQ to Dallas Branch" -Mode Tunnel -LocalAddress 192.168.0.0/16 -RemoteAddress 192.157.0.0/16 -LocalTunnelEndpoint 1.1.1.1 -RemoteTunnelEndpoint 2.2.2.2 -InboundSecurity Require -OutboundSecurity Require -QuickModeCryptoSet $QMCryptoSet.Name

This example creates an IPsec tunnel that routes traffic from a private network (192.168.0.0/16) through an interface on the local computer (1.1.1.1) attached to a public network to a second computer through its public interface (2.2.2.2) to another private network (192.157.0.0/16). All traffic through the tunnel is integrity checked using ESP and SHA1, and encrypted using ESP and AES128.

EXAMPLE 2

This cmdlet illustrates how to include both AH and ESP protocols in a single suite.
PS C:\>$AHandESPQM = New-NetIPsecQuickModeCryptoProposal -Encapsulation AH,ESP -AHHash SHA1 -ESPHash SHA1 -Encryption DES3


This cmdlet illustrates how to specify the use of the AH protocol only.
PS C:\>$AHQM = New-NetIPsecQuickModeCryptoProposal -Encapsulation AH -AHHash SHA1 -ESPHash None -Encryption None


This cmdlet illustrates how to specify the use of the ESP protocol only, and uses the None keyword to specify not to include an encryption option, also known as "ESP null encryption".
PS C:\>$ESPQM = New-NetIPsecQuickModeCryptoProposal -Encapsulation ESP -ESPHash SHA1 -Encryption None


This cmdlet illustrates how to use the None keyword to specify that ESP is used with an encryption protocol, but with no integrity protocol. This cmdlet also illustrates how to set a custom SA timeout using both time and data amount values.
PS C:\>$ESPnoAHQM = New-NetIPsecQuickModeCryptoProposal -Encapsulation ESP -ESPHash None -Encryption AES256 -MaxKiloBytes 50000 -MaxMinutes 30



PS C:\>$QMCryptoSet = New-NetIPsecQuickModeCryptoSet -DisplayName "Custom Quick Mode" -Proposal $AHandESPQM,$AHQM,$ESPQM,$ESPnoAHQM



PS C:\>New-NetIPsecRule -DisplayName "Domain Isolation Rule" -InboundSecurity Require Request -OutboundSecurity Request -QuickModeCryptoSet $QMCryptoSet.Name

This example creates a domain isolation rule, but uses a custom quick mode proposal that includes multiple quick mode suites, separated by commas.

Parameters

-AHHash

Specifies the proposed hash algorithm for data integrity and authentication. The acceptable values for this parameter are: None, MD5, SHA1, SHA256, AESGMAC128. AESGMAC192, or AESGMAC256. The default value is None.

Type:HashAlgorithm
Accepted values:None, MD5, SHA1, SHA256, SHA384, AESGMAC128, AESGMAC192, AESGMAC256
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encapsulation

Specifies the IPsec protocol method. The acceptable values for this parameter are: None, AH, AH,ESP, or ESP. AH (authentication header) and ESP (encapsulating security payload) can both be specified or None can be specified.

  • AH,ESP: Supported in all platforms.
  • None: Supported in firstref_server_7 and Windows Server® 2012.
  • AH: Supported in nextref_server_7 and Windows Server 2012. The default value is None. AH is not supported with the transport mode IKEv2 keying module.
Type:IPsecEncapsulation
Accepted values:None, AH, ESP
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encryption

Specifies the value for a main or quick mode cryptographic proposal. The acceptable values for this parameter are: None, DES, DES3, AES128, AES192, AES256, AESGCM128, AESGCM192, or AESGCM256. GCM encryption is not supported in phase 1 authentication for nextref_server_7 and Windows Server 2012. AESGCM128, AESGCM192, and AESGCM256 are not supported for IPsec main mode security association negotiations.

Type:EncryptionAlgorithm
Accepted values:None, DES, DES3, AES128, AES192, AES256, AESGCM128, AESGCM192, AESGCM256
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ESPHash

Specifies the proposed hashing algorithm for data confidentiality and authentication. The acceptable values for this parameter are: None, MD5, SHA1, SHA256, AESGMAC128. AESGMAC192, or AESGMAC256. If the Encapsulation parameter is specified as AH is used, then the acceptable values for this parameter are: AESGMAC128, AESGMAC192, AESGMAC256, MD5, SHA1, or SHA256. If the Encapsulation parameter is specified as ESP or AH,ESP, then the acceptable values for this parameter are: AESGMAC128, AESGMAC192, AESGMAC256, MD5, SHA1, or SHA256. The default value is None.

Type:HashAlgorithm
Accepted values:None, MD5, SHA1, SHA256, SHA384, AESGMAC128, AESGMAC192, AESGMAC256
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxKiloBytes

Specifies the maximum lifetime, in kilobytes, that the IKE message sender proposes for a security association to be considered valid after it has been created. The acceptable values for this parameter are: 20480 through 2147483647.

  • A non-zero value specifies the desired lifetime, in kilobytes.

The default value is 100000.

Type:UInt64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxMinutes

Specifies the number of minutes established for a quick mode security association before it expires and must be renegotiated. The acceptable values for this parameter are: 5 to 2879.

  • A non-zero value specifies the desired minute lifetime.

The default value is 60 (minutes).

Type:UInt64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

Outputs

CimInstance

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.