Как просмотреть содержимое cacerts.bks (файл сертификата /system/etc/security/carcerts.bks) - PullRequest
3 голосов
/ 07 января 2011

Кто-нибудь знает, как просмотреть список корневых сертификатов, которые поддерживает устройство Android?Я хотел бы видеть эту информацию.

Я обнаружил, что /system/etc/security/carcerts.bks содержит информацию о корневых сертификатах, но я не могу декодировать содержимое с помощью любых доступных редакторов.

Я также пыталсяKeyTool, но не удалось с этим.

Пожалуйста, предложите, как декодировать содержимое этого файла.

С уважением,

Дурга

Ответы [ 3 ]

13 голосов
/ 13 февраля 2013

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

4 голосов
/ 16 декабря 2016

Если вы не хотите быть экспертом, который всегда пишет сценарии / коды, чтобы делать то, что он хочет.

Это рекомендуемый инструмент хранилища ключей GUI для вас: http://www.keystore -explorer.org / downloads.html

2 голосов
/ 10 сентября 2015

Список установленных сертификатов на устройстве Android можно получить из кода: в свой метод onCreate () включите этот код:

Для устройств до IceCream Sandwich (API <14): </strong>

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 и выше (API> = 14):

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();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...