Como remover o certificado CA confiável instalado do aplicativo ao desinstalar o aplicativo

Eu tenho um aplicativo que oferece a opção de instalar o certificado da CA e ele é armazenado na guia do usuário deCredenciais Confiáveis e funciona como esperado.

Para sua informação (É assim que eu instalo o certificado):

Intent installIntent = KeyChain.createInstallIntent();
javax.security.cert.X509Certificate x509 = javax.security.cert.X509Certificate.getInstance(caRootCertBytes);
installIntent.putExtra(KeyChain.EXTRA_CERTIFICATE, x509.getEncoded());
installIntent.putExtra(KeyChain.EXTRA_NAME,caRootCertName);
startActivity(installIntent);

Se o aplicativo fordesinstalado o certificado permanece noCredenciais confiáveis.

Eu gostaria que o certificado fosse desinstalado quando o aplicativo for desinstalado.

Pensei em remover o certificado usandodeleteEntry método deKeyStore.

Para sua informação (Ainda não testei. Espero que funcione ... atualizarei uma vez que o testei)

javax.security.cert.X509Certificate x509 = javax.security.cert.X509Certificate.getInstance(caRootCertBytes);

KeyStore ks = KeyStore.getInstance("AndroidCAStore")
if (ks != null) 
                        {
                            ks.load(null, null);
                            Enumeration<String> aliases = ks.aliases();
                            while (aliases.hasMoreElements()) 
                            {
                                String alias = (String) aliases.nextElement();
                                java.security.cert.X509Certificate cert = (java.security.cert.X509Certificate) ks.getCertificate(alias);
                                String name = x509.getIssuerDN().getName();                             
                                if (cert.getIssuerDN().getName().contains(name)) 
                                {
                                  ks. deleteEntry(alias)

                                }
                            }
                        }  

Mesmo se você considerar o código acima como AFAIK, não consigo registrar o receptor de transmissão para desinstalar o meu próprio aplicativo.

Como posso remover o certificado instalado pelo meu aplicativo na desinstalação do meu aplicativo?

Qualquer ajuda é apreciada!

questionAnswers(3)

yourAnswerToTheQuestion