2012-01-10 14 views

答えて

1

Android 5.1.1を搭載したデバイスで動作するようになりました。

あなたが探している証明書かどうかを確認する方法に応じて、任意のフィールドを選択して比較することができます。私は、発行者の識別名(DN)をただちにチェックする簡単な方法に行きました。

private boolean isCertificateInstalled(String issuerDn) { 
    try { 
     TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); 
     tmf.init((KeyStore) null); 
     X509TrustManager xtm = (X509TrustManager) tmf.getTrustManagers()[0]; 
     for (X509Certificate cert : xtm.getAcceptedIssuers()) { 
      if (cert.getIssuerDN().getName().contains(issuerDn)) { 
       return true; 
      } 
     } 
    } catch (NoSuchAlgorithmException | KeyStoreException e) { 
     // Handle exceptions 
    } 
    return false; 
} 

私は、これは前のアイスクリームサンドイッチでも動作するはず主張this answerからこの解決策を取りました。

関連する問題