国产精品主播叶子闺蜜_三级高清精品国产_99久久精品国产麻豆_国产精品无码免费专区午夜

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

網站百科

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

java 使用ssl,tls 證書認證

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

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.juherenli.com/20543.html
相關開發語言