1. 程式人生 > >Android JSSE實現SSL雙向認證(阻塞模式及非阻塞模式)

Android JSSE實現SSL雙向認證(阻塞模式及非阻塞模式)

      File pfxFile = new File(mCertPath, "ca.pfx");
    
          try {
           /*Android支援BKS PKCS12的keystore,不支援JKS,預設為BKS*/
           //ksKeys = KeyStore.getInstance("JKS");
           ksKeys = KeyStore.getInstance("PKCS12");
           //ksKeys = KeyStore.getInstance("JCEKS");
           ksKeys.load(new FileInputStream(pfxFile), passphrase);
    }catch (KeyStoreException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } catch (CertificateException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } catch (FileNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
          
     KeyManagerFactory kmf = null;
     // KeyManager's decide which key material to use.
     kmf =KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    try {
     kmf.init(ksKeys, passphrase);
    } catch (UnrecoverableKeyException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } catch (KeyStoreException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }