2017-07-11 1 views
0

にしていません。証明書が信頼できるCAによって署名されていることを確認してください。getAcceptedIssuers()メソッドを使用してTrusted X509Certificateの取得を試みました。私たちはシマンテックを信頼できるキーストアのデフォルト

このリストには、Common Name(Symantec Class 3 EV SSL CA-G3)のリストはありません。 デフォルトのトラストマネージャでこの値を取得するにはどうすればよいですか?

@Override 
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { 
    if (!false) { 
     X509Certificate cert=chain[0]; 
     Log.d("bucky validate 0",chain[0].getIssuerDN().getName()); 
     boolean found = false; 
     try { 
      String dns= String.valueOf(cert.getIssuerDN()); 
      Log.d("bucky validate",dns); 
      X509Certificate[] cert2= getAcceptedIssuers(); 
      int length=cert2.length; 
      for (int i=0;i<length;i++){ 
       String dnName= String.valueOf(cert2[i].getIssuerDN()); 
       Log.d("bucky validate2",dnName); 
      } 
      cert.checkValidity(new Date()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     }} 


@Override 
public X509Certificate[] getAcceptedIssuers() 
{ 
    return defaultTrustManager.getAcceptedIssuers() ; 
} 



public ApplicationTrustManager() throws NoSuchAlgorithmException, KeyStoreException { 

    TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); 
    tmf.init((KeyStore) null); 
    defaultTrustManager = (X509TrustManager) tmf.getTrustManagers()[0]; 
} 

答えて

0

最後に、私は答えを得ました。軽微な間違いです。

 @Override 
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException 

私は信頼できる証明書の名前を取得しました。

関連する問題