Como importar um certificado VPN no Android e verificar a chave
Importe um P12 no Android, confirme que fornecedor tem a chave e descubra quem é o dono real do requisito de bloqueio de ecrã.
Importar um certificado de cliente VPN no Android leva alguns minutos. Verificar se ele caiu no lugar certo leva mais tempo, e é essa parte que a maioria das pessoas pula quando a caixa de diálogo de instalação diz que deu certo. Uma mensagem de sucesso significa apenas que o ficheiro foi analisado. Não diz nada sobre qual fornecedor tem a chave privada nem se ainda há uma cópia na sua pasta Downloads.
Passo 1: Leia o P12 antes de ele sair da sua máquina
Comece pelo próprio ficheiro. Se não conseguir nomear o sujeito, o emissor e a data de validade lá dentro, está a importar algo que não conseguirá verificar mais tarde.
Um pacote PKCS#12 normalmente traz um certificado de cliente, a sua chave privada e a cadeia do emissor. openssl pkcs12 -in client.p12 -info -noout imprime o MAC e os algoritmos de cifra sem despejar material de chave, por isso vê se o pacote está protegido por palavra-passe e com que cifra. Continue com keytool -list -v -keystore client.p12 -storetype PKCS12 para obter o alias, a impressão digital SHA-256 e a janela de validade que vai comparar com o telemóvel.
Envie a palavra-passe por um canal diferente do ficheiro, ou entregue o ficheiro dentro de um fluxo de distribuição gerido que não deixe cópia. Uma palavra-passe colada na mesma mensagem de chat que o arquivo transforma dois controlos num só.
Passo 2: Instale-o na ranhura que a aplicação VPN realmente lê
No Android 11 até 14 de fábrica o caminho passa por Definições, Segurança, Encriptação e credenciais, Instalar um certificado, depois VPN e certificado de utilizador da aplicação. A redação e o encaixe mudam entre versões e capas de fabricante, por isso siga a etiqueta do tipo de credencial em vez de uma posição de menu decorada. Num perfil de trabalho, instale de dentro do lado de trabalho, porque as credenciais não atravessam a fronteira do perfil.
Não coloque uma identidade de cliente na ranhura de certificado CA. Essa ranhura alimenta o armazenamento de confiança do utilizador, e desde o Android 7 as aplicações ignoram as CA adicionadas pelo utilizador, a menos que a configuração de segurança de rede o permita, por isso um certificado de cliente ali guardado nunca aparece no seletor de chaves da VPN.
Alguns clientes VPN nunca tocam no armazenamento do sistema e importam o P12 para o seu próprio diretório de aplicação. É um desenho legítimo, mas muda todos os passos seguintes: a chave passa a viver dentro da sandbox da aplicação e é exatamente tão forte quanto essa aplicação trata o seu próprio armazenamento. Consulte a documentação do cliente antes de assumir que o KeyChain está em jogo.
Passo 3: Prove qual fornecedor tem a chave
Uma importação confirma a análise, não o suporte de hardware. No Android 12 e posteriores, KeyInfo.getSecurityLevel() informa se uma chave está no Ambiente de Execução Fiável, no StrongBox ou em software, e substitui a chamada mais antiga isInsideSecureHardware(). Se o cliente VPN não mostrar esse valor, a impressão digital do passo 1 é a sua alternativa. Um certificado recodificado durante a importação não coincidirá byte a byte, mas a chave pública e o sujeito continuarão a coincidir.
Não exportável não é o mesmo que inutilizável. Uma chave que não pode sair do dispositivo ainda pode ser usada por qualquer aplicação que o utilizador autorize a escolher esse alias, e é por isso que o pedido de alias é um controlo real e não uma formalidade. A documentação do Android Keystore vale uma leitura se estiver a tomar essa decisão de desenho.
Depois conte as cópias que fez. O P12 no portátil, o do anexo do ticket e o da cópia de segurança do mês passado continuam todos a ser identidades válidas até o emissor os revogar. A proteção de hardware da instância no telemóvel não faz nada por esses.
Passo 4: Descubra quem é o dono do requisito de bloqueio de ecrã
Aqui confundem-se três segredos: o PIN de desbloqueio do dispositivo, a frase-passe da chave privada e a palavra-passe da conta VPN. Um pedido de um nunca é um pedido para repor os outros, e repor o errado é como as pessoas se fecham fora de um perfil que funcionava bem.
Quando um administrador de dispositivo ou uma política de perfil gerido exige um bloqueio, o requisito pertence a essa política, não ao certificado. adb shell dumpsys device_policy lista os administradores ativos e a qualidade de palavra-passe que impõem, que é a forma mais rápida de ver se um agente MDM é a razão pela qual as suas regras de PIN mudaram. Remover o certificado não vai aliviar a política, e remover a política é uma decisão administrativa e não um ajuste de definições.
Espere também um compromisso de usabilidade. Se a chave exigir autorização do utilizador, o túnel não pode subir antes do primeiro desbloqueio, por isso as sincronizações agendadas e os despertadores remotos falham por desenho. Decida isso antes da implementação, não depois.
Evite o atalho de editar locksettings.db ou de repetir uma velha solução para um padrão esquecido. Essas rotinas foram escritas para compilações específicas, podem deixar o armazenamento de credenciais num estado que a framework já não espera, e nunca mudam a política que pediu o bloqueio em primeiro lugar.
Passo 5: Retire a identidade e verifique a recusa
A retirada tem três partes e só a primeira é local. Remova o perfil VPN, apague o certificado de utilizador em Definições, Segurança, Encriptação e credenciais, Credenciais de utilizador, e depois faça com que o emissor revogue o número de série do certificado. O apagamento local por si só deixa uma credencial que o servidor ainda aceita se alguém guardou o P12.
Verifique o resultado em vez de o assumir. Experimente uma ligação com o perfil retirado e confirme que o servidor a rejeita. Um túnel que ainda sobe significa que revogou o número de série errado ou que o cliente recuou silenciosamente para outra identidade instalada.
Se está a reverter uma importação falhada, volte a importar a partir do pacote cifrado original e verifique novamente a impressão digital em vez de reutilizar um ficheiro de chave decifrado que deixou no disco.