相关疑难解决方法(0)

如何以编程方式删除用户安装的证书?

我以编程方式安装了证书.

我可以通过去手动卸载它 Settings -> Security -> Trusted Credentials -> User -> Choose the certificate and click the remove button

我想以编程方式删除证书.

这是我尝试过的代码,但它没有用.

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)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

参考我为什么选择deleteEntry

这是我得到的错误日志

05-19 18:27:40.789: W/System.err(14588): java.lang.UnsupportedOperationException
05-19 18:27:40.792: W/System.err(14588):    at com.android.org.conscrypt.TrustedCertificateKeyStoreSpi.engineDeleteEntry(TrustedCertificateKeyStoreSpi.java:82)
05-19 18:27:40.792: W/System.err(14588): …
Run Code Online (Sandbox Code Playgroud)

java android ssl-certificate

15
推荐指数
2
解决办法
3266
查看次数

标签 统计

android ×1

java ×1

ssl-certificate ×1