Como importar un certificado VPN en Android e verificar a clave
Importa un P12 en Android, confirma que provedor ten a clave e descubre quen é o dono real do requisito de bloqueo de pantalla.
Importar un certificado de cliente VPN en Android leva un par de minutos. Comprobar que chegou ao lugar correcto leva máis tempo, e esa é a parte que a maioría da xente salta cando o diálogo de instalación di que todo foi ben. Unha mensaxe de éxito só significa que o ficheiro se analizou. Non di nada sobre que provedor ten a clave privada nin sobre se segue habendo unha copia no teu cartafol Downloads.
Paso 1: Le o P12 antes de que saia da túa máquina
Comeza polo propio ficheiro. Se non podes nomear o suxeito, o emisor e a data de caducidade que contén, estás a importar algo que despois non poderás verificar.
Un paquete PKCS#12 normalmente leva un certificado de cliente, a súa clave privada e a cadea do emisor. openssl pkcs12 -in client.p12 -info -noout imprime o MAC e os algoritmos de cifrado sen verter material de clave, así que podes ver se o paquete está protexido con contrasinal e con que cifra. Ségueno con keytool -list -v -keystore client.p12 -storetype PKCS12 para obter o alias, a pegada SHA-256 e a xanela de validez que compararás co teléfono.
Envía o contrasinal por unha canle distinta á do ficheiro, ou entrega o ficheiro dentro dun fluxo de distribución xestionado que non deixe copia. Un contrasinal pegado na mesma mensaxe de chat que o arquivo converte dous controis nun.
Paso 2: Instálao na ranura que a aplicación VPN le de verdade
En Android 11 ata 14 de serie a ruta pasa por Axustes, Seguridade, Cifrado e credenciais, Instalar un certificado, logo VPN e certificado de usuario da aplicación. A redacción e o aniñamento cambian entre versións e capas de fabricante, así que segue a etiqueta do tipo de credencial en lugar dunha posición de menú memorizada. Nun perfil de traballo, instala desde dentro do lado de traballo, porque as credenciais non cruzan a fronteira do perfil.
Non poñas unha identidade de cliente en a ranura de certificado CA. Ese oco alimenta o almacén de confianza do usuario, e desde Android 7 as aplicacións ignoran as CA engadidas polo usuario salvo que a súa configuración de seguridade de rede o permita, así que un certificado de cliente colocado alí nunca aparece no selector de claves da VPN.
Algúns clientes VPN nunca tocan o almacén do sistema e importan o P12 no seu propio directorio de aplicación. É un deseño lexítimo, pero cambia todos os pasos posteriores: a clave agora vive dentro do sandbox da aplicación e é exactamente tan forte como esa aplicación xestiona o seu propio almacenamento. Consulta a documentación do cliente antes de dar por feito que KeyChain intervén.
Paso 3: Demostra que provedor ten a clave
Unha importación confirma a análise, non o respaldo de hardware. En Android 12 e posteriores, KeyInfo.getSecurityLevel() informa de se unha clave está na Contorna de Execución de Confianza, en StrongBox ou en software, e substitúe a chamada máis antiga isInsideSecureHardware(). Se o cliente VPN non mostra ese valor, a pegada do paso 1 é a túa alternativa. Un certificado recodificado durante a importación non coincidirá byte a byte, pero a clave pública e o suxeito si o farán.
Non exportable non é o mesmo que inutilizable. Unha clave que non pode saír do dispositivo aínda pode usala calquera aplicación que o usuario autorice a escoller ese alias, e por iso o aviso do alias é un control real e non unha formalidade. A documentación de Android Keystore merece unha lectura se vas tomar esa decisión de deseño.
Despois conta as copias que fixeches. O P12 do teu portátil, o do anexo do ticket e o da copia de seguridade do mes pasado seguen sendo identidades válidas ata que o emisor as revogue. A protección de hardware da instancia do teléfono non fai nada por esas.
Paso 4: Descubre quen é o dono do requisito de bloqueo de pantalla
Aquí confúndense tres segredos: o PIN de desbloqueo do dispositivo, a frase de contrasinal da clave privada e o contrasinal da conta VPN. O aviso dun nunca é unha petición para restablecer os outros, e restablecer o equivocado é como a xente queda fóra dun perfil que funcionaba ben.
Cando un administrador de dispositivo ou unha política de perfil xestionado esixe un bloqueo, o requisito pertence a esa política, non ao certificado. adb shell dumpsys device_policy enumera os administradores activos e a calidade de contrasinal que impoñen, que é a forma máis rápida de ver se un axente MDM é a razón de que as túas regras de PIN cambiaran. Quitar o certificado non relaxará a política, e quitar a política é unha decisión administrativa e non un axuste de configuración.
Espera tamén unha contrapartida de usabilidade. Se a clave require autorización do usuario, o túnel non pode levantarse antes do primeiro desbloqueo, así que as sincronizacións programadas e os espertadores remotos fallan por deseño. Decídeo antes do despregamento, non despois.
Evita o atallo de editar locksettings.db ou de repetir un vello truco para un patrón esquecido. Esas rutinas escribíronse para compilacións concretas, poden deixar o almacén de credenciais nun estado que o framework xa non espera, e nunca cambian a política que pediu o bloqueo en primeiro lugar.
Paso 5: Retira a identidade e verifica o rexeitamento
A retirada ten tres partes e só a primeira é local. Elimina o perfil VPN, borra o certificado de usuario en Axustes, Seguridade, Cifrado e credenciais, Credenciais de usuario, e despois fai que o emisor revogue o número de serie do certificado. O borrado local por si só deixa unha credencial que o servidor aínda acepta se alguén gardou o P12.
Verifica o resultado en lugar de supoñelo. Proba unha conexión co perfil retirado e confirma que o servidor a rexeita. Un túnel que aínda se levanta significa que revogaches o número de serie equivocado ou que o cliente volveu silenciosamente a outra identidade instalada.
Se estás revertendo unha importación fallida, volve importar desde o paquete cifrado orixinal e volve comprobar a pegada en lugar de reutilizar un ficheiro de clave descifrado que deixases no disco.