I have imported the client config file to official OpenVPN client for Android.
The config file contains CA cert but no client cert or key. That's fine because i have auth-user-pass
directive in it.
But when I try to connect, a window pops up saying:
Select Certificate
This profile doesn't include a client certificate. Continue connecting without a certificate or select one from the Android keychain?
If I choose to continue, it connects but this window appears every time I want to connect.
The same profile works fine on Windows (official OpenVPN GUI) and VPN Client Pro (unofficial client from Play Store).
Why it is looking for client certificate when the authentication method is user+pass?
Thanks.
EDIT for JW0914:
Since you are providing wrong information I did a little bit of search and found the answer:
As it is described here the key is to add "--verify-client-cert none" to the server config file.
As for the certificate, the OpenVPN default config says:
###############################################################################
Client certificate and key.
A pair of client certificate and private key is required in case you want to
use the certificate authentication.
I don't want to use certificate authentication.
– Omid Shojaee Jan 06 '20 at 15:23openssl
and have it signed via the VPN's CA/ICA.. OpenVPN is an SSL VPN and certificates are required, they are not optional, as using an OpenVPN server without certificates compromises the security of the VPN tunnel. If this is a 3rd party VPN, they've provided you with the cert and key signed by the VPN's CA/ICA – JW0914 Jan 06 '20 at 15:32openssl.cnf
to see how RSA & ECDSA encryption occurs, as well as KUs/EKUs.) – JW0914 Jan 12 '20 at 18:08clientAuth
[client] &serverAuth
[server] required to prevent MITM attacks. Please refer to OpenVPN's wikis for additional info, as you have a fundamental misunderstanding of encryption within an SSL VPN (while only a PSK can be used, it isn't secure, thereby defeating the purpose of a VPN). – JW0914 May 16 '21 at 13:35