When deploying Windows 10 Always On VPN using Protected Extensible Authentication Protocol (PEAP) authentication with client certificates, administrators may find the VPN connection does not establish automatically. In this specific scenario the client is prompted to select a certificate to use to authenticate to the VPN server.
Multiple Certificates
This can occur when certificates from multiple Certification Authorities (CAs) are issued to the user that include the Client Authentication Enhanced Key Usage (EKU). When this happens, the user is forced to select the correct certificate to use for VPN authentication.
Clearly this is less than ideal, as it not only breaks the seamless and transparent nature of Always On VPN, the user may select the wrong certificate resulting in authentication failure. Ideally the client should be configured to select the correct certificate without user interaction.
Certificate Selection
Follow the steps below to configure automatic certificate selection for VPN authentication.
- On a VPN client, right-click the Always On VPN connection and choose Properties.
- Select the Security tab.
- In the Authentication section click Properties below Use Extensible Authentication Protocol (EAP).
- In the Select Authentication Method section click Configure.
- In the When connecting section click Advanced.
- Check the box next to Certificate Issuer.
- Select the root CA used to issue client authentication certificates for VPN authentication.
- Click Ok four times to save the configuration.
Once complete, export the EAP configuration to XML from the VPN client and paste the new settings in Intune or in your custom ProfileXML.
Certificate Purpose
By default, a client certificate requires only the Client Authentication EKU to establish a VPN connection. In some cases, this may not be desirable. For example, consider a deployment where Client Authentication certificates are issued to all users for Wi-Fi authentication. Depending on the Network Policy Server (NPS) configuration, these certificates may also be used to authenticate to the VPN.
VPN Specific Certificate
Follow the steps below to create a user authentication certificate template to be used exclusively for VPN authentication.
Certificate Template
- On the CA server, open the Certificate Templates management console (certtmpl.msc).
- Right-click the certificate template configured for VPN authentication and choose Properties.
- Select the Extension tab.
- Highlight Application Policies and click Edit.
- Click Add.
- Click New.
- Enter a descriptive name for the new application policy.
- Copy the Object identifier for later use and click Ok four times to save the configuration.
- If certificate autoenrollment is configured and the certificate is already provisioned to users, right-click the certificate template and choose Reenroll All Certificate holders.
Client Configuration
- On the VPN client, follow the steps outlined previously to configure certificate selection.
- In addition to choosing a certificate issuer, select Extended Key Usage (EKU).
- Uncheck All Purpose.
- Select Client Authentication and the following EKUs.
- Click Add.
- Click Add once more.
- Enter the name of the custom EKU policy created previously.
- Enter the custom EKU object identifier copied previously from the custom policy.
- Click Ok twice.
- Uncheck AnyPurpose and the following EKUs.
- Click Ok four times to save the configuration.
Once complete, export the EAP configuration to XML from the VPN client and paste the new settings in Intune or in your custom ProfileXML.
Additional Information
Windows 10 Always On VPN Clients Prompted for Authentication when Accessing Internal Resources