<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      網站百科

      為您解碼網站建設的點點滴滴

      java 使用ssl,tls 證書認證

      發表日期:2018-04 文章編輯:小燈 瀏覽次數:6963

      public class HttpsTest {

      public static void test(Context context)throws Exception {

      //獲得ssl上下文

      ? ? ? ? SSLContext sslContext = SSLContext.getInstance("TLS");

      ? ? ? ? //信任證書管理器

      ? ? ? ? TrustManagerFactory trustManager = TrustManagerFactory.getInstance("X509");

      ? ? ? ? //證書 第一種,導入成bks或者jks的證書

      //? ? ? ? KeyStore keyStore = KeyStore.getInstance("BKS");

      //? ? ? ? keyStore.load(context.getAssets().open("12306.bks"),"123456".toCharArray());

      ?//證書 第二種,直接使用cer證書? ? ??

      ? CertificateFactory cf = CertificateFactory.getInstance("X.509");

      ? ? ? ? X509Certificate cert = (X509Certificate)cf.generateCertificate(context.getAssets().open("srca.cer"));

      ? ? ? ? KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());

      ? ? ? ? keyStore.load(null, null);

      ? ? ? ? keyStore.setCertificateEntry("certificate", cert);

      ? ? ? ? trustManager.init(keyStore);

      ? ?//KeyManager[]?第一個參數是授權的密鑰管理器,用來授權驗證。第二個是被授權的證書管理器,??

      ? //用來驗證服務器端的證書。只驗證服務器數據,第一個管理器可以為null??

      ? ?//ssl socket工廠創建socket

      ? ? ? sslContext.init(null,trustManager.getTrustManagers(),null);

      ? ? ? ? SSLSocketFactory socketFactory = sslContext.getSocketFactory();

      ? ? ? ? SSLSocket socket = (SSLSocket) socketFactory.createSocket("www.12306.cn", 443);

      //? ? ? ? Socket socket = SSLSocketFactory.getDefault().createSocket("www.12306.cn", 443);//有ca認證的證書使用默認

      ? ? ? ? doHttps(socket);

      ? ? }

      static void doHttps(Socket socket)throws Exception {

      //接受數據的輸入流

      ? ? ? ? final BufferedReader br =new BufferedReader(new InputStreamReader(socket.getInputStream()));

      ? ? ? ? //發送數據 輸出流

      ? ? ? ? BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));

      ? ? ? ? new Thread() {

      @Override

      ? ? ? ? ? ? public void run() {

      while (true) {

      String line =null;

      ? ? ? ? ? ? ? ? ? ? try {

      while ((line =br.readLine()) !=null) {

      System.out.println("recv :" + line);

      ? ? ? ? ? ? ? ? ? ? ? ? }

      }catch (IOException e) {

      e.printStackTrace();

      ? ? ? ? ? ? ? ? ? ? }

      }

      }

      }.start();

      ? ? ? ? bw.write("GET / HTTP/1.1\r\n");

      ? ? ? ? bw.write("Host: www.12306.cn\r\n\r\n");

      ? ? ? ? bw.flush();

      ? ? }

      }




      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/20543.html
      相關開發語言
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      • QQ咨詢
      • 在線咨詢
      • 官方微信
      • 聯系電話
        座機0755-29185426
        手機13699882642
      • 預約上門
      • 返回頂部
      国产成人精品综合在线观看