object VPN.IKEv2.ChildSecurityAssociationParameters object VPN.IKEv2.IKESecurityAssociationParameters object VPN.IKEv2AllowPostQuantumKeyExchangeFallback integerIf set to 0, the VPN doesn’t establish a connection if the server does not support or doesn’t allow post-quantum key exchanges. Thd device ignores this key if Post is not present in IKESecurity or Child.
00, 1AuthenticationMethod stringThe type of authentication method for the VPN.
To enable EAP-only authentication, set this to None and Extended to 1. If this is None and the Extended key isn’t set, the authentication configuration defaults to Shared.
None, SharedSecret, CertificateAuthName stringThe user name to use for authentication.
AuthPassword stringThe password to use for authentication.
CertificateType stringThe type of Payload to use for IKEv2 machine authentication. If this key is included, the system requires a value for Server.
RSARSA, ECDSA256, ECDSA384, ECDSA521, RSA-PSSChildSecurityAssociationParameters The Child dictionaries.
DeadPeerDetectionRate stringOne of the following:
None: No keepalive.
Low: Send keepalive every 30 minutes.
Medium: Send keepalive every 10 minutes.
High: Send keepalive every 1 minute.
Not available in watchOS.
MediumNone, Low, Medium, HighDisableMOBIKE integerIf 1, the system disables MOBIKE.
00, 1DisableRedirect integerIf 1, the system disables IKEv2 redirect. If not set, the system redirects an IKEv2 connection when it receives a redirect request from the server.
00, 1DisconnectOnIdle integerIf 1, the VPN disconnects automatically after a period defined by Disconnect.
00, 1DisconnectOnIdleTimer integerOnly used if Disconnect is 1. The number of seconds before the VPN disconnects. On watchOS, maximum allowed value is 15 seconds
EnableCertificateRevocationCheck integerIf 1, the system performs a certificate revocation check for IKEv2 connections. This is a best-effort revocation check and server response timeouts won’t cause it to fail.
00, 1EnableFallback integerIf 1, the system enables a tunnel over cellular data to carry traffic that’s eligible for Wi-Fi Assist and also requires VPN.
Enabling fallback requires that the server support multiple tunnels for a single user.
This field is available in iOS 13 and later, and tvOS 17 and later. Not available in watchOS.
00, 1EnablePFS integerIf 1, enables Perfect Forward Secrecy (PFS) for IKEv2 Connections.
00, 1EnforceRoutes integerIf 1, all the VPN’s non-default routes take precedence over any locally-defined routes. If Include is 1, the system ignores Enforce.
00, 1EnforceStrictAlgorithmSelection integerIf set to 1, the device doesn’t allow DES, 3DES, and Diffie-Hellman groups less than 14. Also the device requires the encryption algorithm specified for the IKE SA to be at least as cryptographically strong as the algorithm specified for the child SA. The device rejects this profile payload if these requirements are not met.
00, 1ExcludeAPNs integerIf 1 and Include is 1, the system excludes network traffic for the Apple Push Notification service (APNs) from the tunnel.
10, 1ExcludeCellularServices integerIf 1 and Include is 1, the system excludes internet-routable network traffic for cellular services (VoLTE, Wi-Fi Calling, IMS, MMS, Visual Voicemail, etc.) from the tunnel. Note that some cellular carriers route cellular services traffic directly to the carrier network, bypassing the internet. Such cellular services traffic is always excluded from the tunnel.
10, 1ExcludeDeviceCommunication integerIf set to 1 and Include is set to 1, the device excludes network traffic used for communicating with devices connected via USB or Wi-Fi from the tunnel.
10, 1ExcludeLocalNetworks integerIf 1 and either Include or Enforce are 1, then the system routes local network traffic outside of the VPN. The default for this value is 0 on macOS and 1 on iOS.
0, 1ExtendedAuthEnabled integerIf 1, enables EAP-only authentication.
00, 1IKESecurityAssociationParameters These parameters apply to Child Security Association unless Child is specified.
IncludeAllNetworks integerIf 1, then the system routes all network traffic through the VPN, with some controllable exclusions, such as Exclude, Exclude, and Exclude properties. The system always excludes the following traffic from the tunnel:
Traffic necessary for connecting and maintaining the device’s network connection, such as DHCP.
Traffic necessary for connecting to captive networks.
Certain cellular services traffic that’s not routable over the internet and is instead directly routed to the cellular network. See the Exclude field for more information.
Network communication with a companion device such as a watchOS device.
00, 1LocalIdentifier stringIdentifier of the IKEv2 client.
MTUintegerThe Maximum Transmission Unit (MTU) specifies the maximum size in bytes of each packet that the system sends over the IKEv2 VPN interface. Available in iOS 14 and later, and macOS 11 and later.
128012801400NATKeepAliveInterval integerThe NAT Keepalive interval for Always On VPN IKEv2 connections. This value controls the interval that the device sends keepalive offload packets. The minimum value is 20 seconds. If no key is specified, the default is 20 seconds over Wi-Fi and 110 seconds over a cellular interface.
20NATKeepAliveOffloadEnable integerIf 1, enables NAT keepalive offload for Always On VPN IKEv2 connections. The device sends keepalive packets to maintain NAT mappings for IKEv2 connections that have a NAT on the path. It sends keepalive packets at regular intervals when the device is awake. If NATKeep is 1, the system offloads keepalive packets to hardware while the device is asleep.
NAT keepalive offload has an impact on the battery life due to the extra workload during sleep. The default interval for the keepalive offload packets is 20 seconds over Wi-Fi and 110 seconds over Cellular interface. The default NAT keepalive works well on networks with small NAT mapping timeouts but imposes a potential battery impact. If a network has larger NAT mapping timeouts, larger keepalive intervals may be safely used to minimize battery impact. Modify the keepalive interval through the NATKeep key.
10, 1OnDemandEnabled integerIf 1, enables VPN up on demand.
00, 1OnDemandRules A list of rules that determine when and how to use an OnDemand VPN.
OnDemandUserOverrideDisabled integerIf 1, the system disables the Connect On Demand toggle in Settings for this configuration.
00, 1PasswordstringThe password to use for the account credentials. Only used if Authentication is Password.
PayloadCertificateUUID stringThe UUID of the certificate payload within the same profile to use as the account credential. If the value of Authentication is Certificate, the system sends this certificate out for IKEv2 machine authentication. If extended authentication (EAP) is used, the system sends this certificate out for EAP-TLS authentication.
PPKdataThe Post-quantum Pre-shared key (PPK) the device uses for this VPN. This key is is used with VPN servers that support RFC 8784. If this key is present PPKIdentifier must also be present.
PPKIdentifierstringThe identifier for the Post-quantum Pre-shared key (PPK) the device uses for this VPN. This key is is used with VPN servers that support RFC 8784. If this key is present PPK must also be present.
PPKMandatoryintegerIf set to 1, the VPN doesn’t establish a connection if the server doesn’t support RFC 8784 or doesn’t accept the PPK identifier specified in PPKIdentifier. The device ignores this key if PPK and PPKIdentifier are not present.
10, 1ProviderBundleIdentifier stringIf the VPNSubType field contains the bundle identifier of an app that contains multiple VPN providers of the same type (app-proxy or packet-tunnel), then the system uses this field to choose which provider to use for this configuration. If the VPN provider is implemented as a System Extension, then this field is required.
ProviderDesignatedRequirement stringIf the VPN provider is implemented as a System Extension, then this field is required. Available in macOS 10.15 and later, tvOS 17 and later, and watchOS 10 and later.
ProviderType stringIf the value of this key is app-proxy, the VPN service tunnels traffic at the application layer. If the value of this key is packet-tunnel, the VPN service tunnels traffic at the IP layer.
packet-tunnelpacket-tunnel, app-proxyRemoteAddress stringThe IP address or host name of the VPN server.
RemoteIdentifier stringThe remote identifier.
ServerCertificateCommonName stringThe common name of the server certificate. The system uses this name to validate the certificate sent by the IKE server. If not set, the system uses the remote identifier to validate the certificate.
ServerCertificateIssuerCommonName stringCommon Name of the server certificate issuer. If set, this field causes IKE to send a certificate request based on this certificate issuer to the server. This key is required if the Certificate key is included and the Extended key is 1.
SharedSecret stringIf Authentication is Shared, this value is used for IKE authentication.
TLSMaximumVersion stringThe maximum TLS version to use with EAP-TLS authentication.
1.21.0, 1.1, 1.2TLSMinimumVersion stringThe minimum TLS version to use with EAP-TLS authentication.
1.01.0, 1.1, 1.2UseConfigurationAttributeInternalIPSubnet integerIf 1, negotiations should use IKEv2 Configuration Attribute INTERNAL and INTERNAL.
00, 1object VPN.IKEv2.ChildSecurityAssociationParameters object VPN.IKEv2.IKESecurityAssociationParameters object VPN.AlwaysOn object VPN.DNS object VPN.IPSec object VPN.IPv4 object VPN.PPP object VPN.Proxies object VPN.TransparentProxy object VPN.VPN object VPN.VendorConfig