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 😉