openvpn is available on openbsd and is now available natively on iPhone and Android without the need to jailbreak or other hacks.
If you are using anything other than pre-shared secretes, like rsa keys or certificates, then you need to incorporate the keys and certs INTO THE client's .OVPN FILE ITSELF and then pass the key-cert-incorporated .ovpn file to the device.
The "trick" to this incorporated .ovpn file is to use
xml-style open-close tag syntax as show in the following.
Code:
#
# myiphone.ovpn 2013v1
#
tls-client
client
proto udp
dev tun0
nobind
persist-key
persist-tun
verb 3
pull
comp-lzo
reneg-sec 3600
remote myvpn.myserver.ca 1194
ns-cert-type server
key-direction 1
<key>
-----BEGIN PRIVATE KEY-----
<your key stuff here>
-----END PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
<your tls-key stuff here>
-----END OpenVPN Static key V1-----
</tls-auth>
<ca>
-----BEGIN CERTIFICATE-----
<your ca-cert (that signed client cert that follow) stuff>
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
<this cleint's specific cert stuff>
-----END CERTIFICATE-----
</cert>
Works great!
Good luck all.