We have implemented a small change to our configuration server and client side in order to resolve issues with OpenVPN Connect on iOS and Android devices.
The change makes it so that our service will not timeout during our extraordinarily strong 4096-bit handshake on a device with a slower processor. We use an extremely strong ephemeral RSA key in order to give our users the maximum amount of protection that is physically possible on most devices without serious performance problems.
The issue was that the OpenVPN Connect app has an undocumented change that makes it so that if connecting to a server takes too long, the app will timeout and not connect to the service.
For a lot of older phones (Galaxy S2, iPhone 3, etc) the handshake can take in excess of 30 seconds, causing the timeout and failure to connect.
It will still take a long time to connect on slower devices, this is because we refuse to sacrifice security for speed when it comes to cryptography. So if you try to connect on an older phone it will still take 20-45 seconds to connect to the service, but it will in fact function properly now.
In order to get the updates for this, you can sign in to the VikingVPN website, click on the profiles tab, and get a new set of config files from the website. NOTE: If you get a new set of config files, all of the old configs are instantly revoked and will no longer work. So make sure that if you get a new set of config files, you delete all of the old config files on all of your devices, and replace them with the new config files.
This bug was hard to track and squash because it hit multiple platforms, and the OpenVPN logs were not properly identifying the issue.