為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2018-04 文章編輯:小燈 瀏覽次數(shù):6775
public class HttpsTest {
public static void test(Context context)throws Exception {
//獲得ssl上下文
? ? ? ? SSLContext sslContext = SSLContext.getInstance("TLS");
? ? ? ? //信任證書(shū)管理器
? ? ? ? TrustManagerFactory trustManager = TrustManagerFactory.getInstance("X509");
? ? ? ? //證書(shū) 第一種,導(dǎo)入成bks或者jks的證書(shū)
//? ? ? ? KeyStore keyStore = KeyStore.getInstance("BKS");
//? ? ? ? keyStore.load(context.getAssets().open("12306.bks"),"123456".toCharArray());
?//證書(shū) 第二種,直接使用cer證書(shū)? ? ??
? 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[]?第一個(gè)參數(shù)是授權(quán)的密鑰管理器,用來(lái)授權(quán)驗(yàn)證。第二個(gè)是被授權(quán)的證書(shū)管理器,??
? //用來(lái)驗(yàn)證服務(wù)器端的證書(shū)。只驗(yàn)證服務(wù)器數(shù)據(jù),第一個(gè)管理器可以為null??
? ?//ssl socket工廠創(chuàng)建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認(rèn)證的證書(shū)使用默認(rèn)
? ? ? ? doHttps(socket);
? ? }
static void doHttps(Socket socket)throws Exception {
//接受數(shù)據(jù)的輸入流
? ? ? ? final BufferedReader br =new BufferedReader(new InputStreamReader(socket.getInputStream()));
? ? ? ? //發(fā)送數(shù)據(jù) 輸出流
? ? ? ? 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();
? ? }
}
日期:2018-04 瀏覽次數(shù):6774
日期:2017-02 瀏覽次數(shù):3451
日期:2017-09 瀏覽次數(shù):3675
日期:2017-12 瀏覽次數(shù):3544
日期:2018-12 瀏覽次數(shù):4840
日期:2016-12 瀏覽次數(shù):4593
日期:2017-07 瀏覽次數(shù):13659
日期:2017-12 瀏覽次數(shù):3522
日期:2018-06 瀏覽次數(shù):4278
日期:2018-05 瀏覽次數(shù):4454
日期:2017-12 瀏覽次數(shù):3569
日期:2017-06 瀏覽次數(shù):3994
日期:2018-01 瀏覽次數(shù):3957
日期:2016-12 瀏覽次數(shù):3922
日期:2018-08 瀏覽次數(shù):4439
日期:2017-12 瀏覽次數(shù):3727
日期:2016-09 瀏覽次數(shù):6443
日期:2018-07 瀏覽次數(shù):3221
日期:2016-12 瀏覽次數(shù):3240
日期:2018-10 瀏覽次數(shù):3392
日期:2018-10 瀏覽次數(shù):3501
日期:2018-09 瀏覽次數(shù):3591
日期:2018-02 瀏覽次數(shù):3609
日期:2015-05 瀏覽次數(shù):3536
日期:2018-09 瀏覽次數(shù):3318
日期:2018-06 瀏覽次數(shù):3445
日期:2017-02 瀏覽次數(shù):3882
日期:2018-02 瀏覽次數(shù):4347
日期:2018-02 瀏覽次數(shù):4191
日期:2016-12 瀏覽次數(shù):3586
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.