Exportar un perfil de VPN desde Android parece un paso de copia de seguridad, y el menú que lo ofrece no hace nada para corregir esa impresión. Lo que te llevas es una entrada para un analizador, una clave que el sistema operativo quizá nunca devuelva y una autorización emitida para ese teléfono concreto. Separa esas tres cosas y aparece la pregunta útil: ¿qué pieza falta todavía en el dispositivo nuevo?

El archivo es la parte fácil. Las otras dos deciden si la migración funciona.

Qué contiene realmente un perfil exportado

Abre el archivo en un editor de texto antes de confiar en él. Un perfil de OpenVPN es un pequeño lenguaje de configuración: remote, proto, data-ciphers y a menudo bloques <ca>, <cert>, <key> o <tls-crypt> en línea que el cliente entrega a su pila TLS. Una configuración de WireGuard es más plana: [Interface] contiene PrivateKey y Address, luego un [Peer] por punto final con PublicKey, AllowedIPs y Endpoint. IKEv2 llega como .mobileconfig con diccionarios de carga útil en lugar de bloques de claves.

Nada de ese texto es una credencial por sí mismo. La credencial es la clave privada, y cada formato la pega en línea o apunta a un alias que solo se resuelve dentro del cliente que lo creó.

Dónde vive realmente la clave en Android

Android guarda los datos de las aplicaciones en /data/data/<package>, legibles solo por el UID de esa aplicación. No hay forma compatible de copiar el directorio privado de otra aplicación desde un teléfono sin root, y adb backup dejó de ser una respuesta general cuando Android 12 lo desaprobó y los clientes empezaron a declarar allowBackup="false". Así que una exportación desde un cliente Android significa lo que ese cliente implementa, no una copia del sistema de archivos.

La capa de identidad está debajo de la aplicación. Si un cliente importó tu clave al Android Keystore, el material se genera o se envuelve allí, y las exportaciones posteriores pueden llevar una referencia a un alias del Keystore en lugar de los bytes. Las claves con respaldo de hardware están hechas para que ni siquiera la aplicación propietaria pueda leerlas, como describe Keystore documentation, así que un perfil que apunta a ese alias se importa limpiamente en el mismo teléfono y falla en cualquier otro sitio.

Eso no es una exportación rota. Es la propiedad que se pidió a la plataforma que ofreciera.

Qué no puede trasladar un perfil

Compara los objetos con lo que aceptará un destino:

Objeto¿Se traslada?Por qué
Protocolo y punto finalSí, si el cliente de destino lo soportaTexto plano en el perfil
Certificado de CA y comprobación del nombre de hostNormalmenteMaterial público, pero el nombre de host debe seguir coincidiendo con el certificado
Certificado de clienteSí, salvo que esté vinculado por dispositivoLos certificados son portables; el emisor decide cuántos dispositivos pueden usar uno
Clave privadaSolo si se generó fuera del KeystoreLas claves con respaldo de hardware no se pueden exportar, solo sustituir
Cuenta, MFA, sesión SSONoLos tokens caducan y quedan vinculados al dispositivo que los obtuvo
Rutas, DNS y alcance de las aplicacionesSolo como texto de configuraciónAndroid las aplica al conectar mediante VpnService.Builder
Lista de aplicaciones de túnel divididoRara vezLos nombres de paquete difieren entre dispositivos, y la lista es estado del cliente

Dos filas causan la mayor parte de la confusión. Una clave generada en el dispositivo y marcada como no exportable desaparece de verdad con los datos de la aplicación, así que la sustitución es una clave nueva más un certificado emitido para ella. Un token de sesión copiado a un teléfono nuevo suele morir en el primer refresco, lo que se lee como una importación fallida.

La importación es un análisis y luego una petición de consentimiento

En el lado receptor, la importación es un análisis seguido de una confirmación. El cliente lee la configuración, comprueba que exista cada bloque referenciado y luego escribe la definición del túnel en su propio entorno aislado, y por eso el archivo que elegiste en Descargas no es lo que se conecta después.

Después llega un paso de autorización que ningún archivo puede saltarse. Android exige que la aplicación llame a VpnService.prepare() y reciba tu consentimiento antes de poder establecer un túnel, así que un perfil recién importado sigue mostrando el diálogo del sistema una vez. Luego el túnel se construye explícitamente mediante addAddress, addRoute, addDnsServer y addAllowedApplication o addDisallowedApplication para el enrutamiento por aplicación. Nada de eso viene implícito en un punto final, así que el mismo perfil puede producir un conjunto de rutas efectivas distinto en dos clientes.

Las configuraciones basadas en certificados añaden otra bifurcación. Cuando el servidor emite un certificado a un dispositivo concreto, como hacen MDM y el enrolamiento SCEP, reutilizarlo en un segundo teléfono o bien funciona hasta que el servidor impone una sesión por identidad o bien falla en el apretón de manos TLS. Comprueba la política del emisor antes de planear reutilizarlo.

Verifica el dispositivo nuevo antes de retirar el antiguo

Mantén el teléfono antiguo conectado hasta que el nuevo haya superado algo mejor que un icono verde. Confirma la dirección de salida desde el dispositivo nuevo y el resolutor DNS que realmente utilizó. Si split tunneling importa, lanza una aplicación que debería evitar el túnel y otra que no, y mira cuál llega a tu proveedor.

Una comprobación resuelve la dirección de salida. Abre https://ifconfig.me en el navegador del teléfono, luego ejecuta curl -s https://ifconfig.me desde un portátil en la misma Wi-Fi y compara ambas respuestas con la dirección que te asignó el proveedor.

Solo entonces retira la identidad antigua, y hazlo a través del emisor: revoca el certificado o quita el dispositivo de la cuenta. Borrar un archivo de Descargas no termina nada, porque dos dispositivos con el mismo certificado se ven idénticos en el registro del servidor.

Si la exportación resulta no portable, la solución es una inscripción nueva en lugar de un paquete de configuración público. Pide un perfil para un segundo dispositivo, o genera el par de claves en el teléfono nuevo y envía la CSR; es más lento, y es el camino que admite el emisor.

Pasa la lista de comprobación antes de borrar nada: el dispositivo nuevo se conecta, la dirección de salida y el DNS coinciden, el alcance por aplicación es el que pretendías, la identidad antigua está revocada y cualquier archivo de configuración que hayas guardado está en almacenamiento cifrado.

Artículos relacionados