首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看内容系统(证书文件/ cacerts.bks /etc/security/cacerts.bks)

如何查看内容系统(证书文件/ cacerts.bks /etc/security/cacerts.bks)
EN

Stack Overflow用户
提问于 2011-01-07 05:35:03
回答 3查看 11.6K关注 0票数 3

有人知道如何查看Android设备支持的根证书列表吗?我想看看这些信息。

我发现/system/etc/security/cacerts.bks包含根证书信息,但我无法使用任何可用的编辑器对内容进行解码。

我也尝试过KeyTool,但不能成功。

请建议如何解码此文件的内容。

致以敬意,

杜尔加

EN

回答 3

Stack Overflow用户

发布于 2013-02-14 02:43:31

org.bouncycastle.jce.provider.BouncyCastleProvider -list -v -keystore "cacerts.bks“-provider keytool -providerpath "bcprov-jdk16-146.jar”-storetype BKS -storepass "“

票数 16
EN

Stack Overflow用户

发布于 2016-12-16 09:21:28

如果你不想成为一个总是编写脚本/代码来做他想做的事情的专家。

这是为您推荐的图形用户界面密钥库工具:http://www.keystore-explorer.org/downloads.html

票数 6
EN

Stack Overflow用户

发布于 2015-09-10 18:26:57

您可以通过以下代码获取安卓设备中已安装证书的列表:在onCreate()方法中,包含以下代码:

适用于IceCream三明治之前设备的 (API < 14):

代码语言:javascript
复制
TrustManagerFactory tmf;
    try {
        tmf = TrustManagerFactory.getInstance(TrustManagerFactory
                .getDefaultAlgorithm());

        tmf.init((KeyStore) null);

        X509TrustManager xtm = (X509TrustManager) tmf.getTrustManagers()[0];
        for (X509Certificate cert : xtm.getAcceptedIssuers()) {
            String certStr = "S:" + cert.getSubjectDN().getName() + "\nI:"
                    + cert.getIssuerDN().getName();
            Log.d(LOG_TAG, certStr);
        }
    } catch (NoSuchAlgorithmException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (KeyStoreException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

适用于Android 4.0及以上设备的(接口>= 14):

代码语言:javascript
复制
try 
    {
        KeyStore ks = KeyStore.getInstance("AndroidCAStore");
        if (ks != null) 
        {
            ks.load(null, null);
            Enumeration aliases = ks.aliases();
            while (aliases.hasMoreElements()) 
            {
                String alias = (String) aliases.nextElement();
                java.security.cert.X509Certificate cert = (java.security.cert.X509Certificate) ks.getCertificate(alias);

                Log.d(LOG_TAG, cert.getIssuerDN().getName());
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    } catch (KeyStoreException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (java.security.cert.CertificateException e) {
        e.printStackTrace();
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4620134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档