Estou tentando instalar o certificado autoassinado para meu servidor Web no Android 4.3. Eu tenho o arquivo .crt na raiz do cartão SD (que é realmente emulado porque não tenho cartão SD no slot).
Para instalar o certificado, vá para Configuração -> Geral -> Segurança -> Armazenamento de credenciais -> Instalar a partir do armazenamento do dispositivo.
Eu recebo uma caixa de diálogo mostrando o nome do certificado (o nome do arquivo menos a extensão .crt) que eu posso modificar (mas não o faço), um "usado para" suspenso com "VPN e aplicativos" selecionado e texto na parte inferior da caixa de diálogo que informa "O pacote contém: um certificado de usuário". Tudo parece bem, então eu clico em "Ok". A caixa de diálogo desaparece e uma mensagem de brinde aparece com "[nome] instalado".
No entanto, se eu for imediatamente para "Credenciais confiáveis e selecionar" Usuário ", não há nada! O novo certificado também não está em" Sistema ", mas eu não esperava por isso. Se eu for para um navegador depois disso e tentar ir para o meu Ainda recebo o aviso de que o certificado do site não é confiável.Também tentei reiniciar, mas isso não faz diferença.
O que estou fazendo de errado? A completa falta de mensagens de erro não é útil. É possível que meu certificado esteja no formato errado? Eu tentei usar o arquivo .crt no diretório ssl do servidor e tentei convertê-lo para o formato DER.
Atualização: eu li em algum lugar que o Android exige que os certificados estejam no formato p12, então converti o certificado Apache2 para p12 usando o seguinte comando:
openssl pkcs12 -export -inkey server.key -in server.crt -out ~/server.p12
Repeti as etapas acima, recebi a mesma mensagem de sucesso e continuei a não ver o certificado nas credenciais do usuário e ainda recebo o erro de certificado não confiável no navegador móvel.