Configuración cliente openvpn sin adjuntos

La configuración cliente de OpenVPN consiste típicamente en un fichero .ovpn y una serie de certificados, normalmente ca.crt, client.crt, client.key y ta.key.

En la mayoría de clientes de OpenVPN es posible agregar el fichero de configuración y después adjuntar los ficheros de certificados sin problemas, pero lamentablemente existen casos como en la configuración de OpenVPN en un iPhone donde no es posible agregar los ficheros (a no ser que tengas iTunes).

En ese caso lo que tenemos que hacer es adaptar nuestro fichero de configuración. Si en un inicio es algo así:

client
dev tun
proto udp
remote my-server-1 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
comp-lzo
verb 3

Y además tenemos los ficheros ta.key, client.key, client.crt y ca.crt.

Ahora lo que queremos es incorporar esos ficheros dentro del fichero de configuración, para ellos simplemente convertiremos nuestro fichero en algo parecido a esto:

client
dev tun
proto udp
remote my-server-1 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
comp-lzo
verb 3
<ca>
-----BEGIN CERTIFICATE-----
AQUÍ VA EL CONTENIDO DE ca.crt
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
AQUÍ VA EL CONTENIDO DE client.crt
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
AQUÍ VA EL CONTENIDO DE client.key
-----END RSA PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
AQUÍ VA EL CONTENIDO DE ta.key
-----END OpenVPN Static key V1-----
</tls-auth>

Pues este es todo el secreto 😉