⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpstest.txt

📁 java写的一个https连接程序(证书连接) 可取回数据
💻 TXT
字号:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DWGCollectSystem;

import java.io.IOException;
import java.net.URL;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.io.InputStream;
import java.security.KeyStore;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.TrustManagerFactory;
/**
 *
 * @author KO
 */
public class HttpsTest {



    private static class TrustAnyTrustManager implements X509TrustManager {
    
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }
    
        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }
    
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[]{};
        }
    }
    
    private static class TrustAnyHostnameVerifier implements HostnameVerifier {
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    }
    KeyStore ks = null;
    char[] password = null;
             private void init(){
        try {
             ks = KeyStore.getInstance(KeyStore.getDefaultType());

             password = "changeit".toCharArray();

            String keystore = "e:\\soap\\server_keystore";

            Class tclass = this.getClass();

            InputStream is = tclass.getResourceAsStream(keystore);

            ks.load(is, password);
        } catch (IOException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (CertificateException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (KeyStoreException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        }
}
    private  KeyManager[]  getKeyManagerFactory(){
        try {


            KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");

            kmf.init(ks, password);
            return kmf.getKeyManagers();
        } catch (KeyStoreException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnrecoverableKeyException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }
    
    public TrustManager[] getTrustManager(){
    TrustManagerFactory tmf;
        try {
            tmf = TrustManagerFactory.getInstance("SunX509");
            tmf.init(ks);
             return tmf.getTrustManagers();
        } catch (KeyStoreException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(HttpsTest.class.getName()).log(Level.SEVERE, null, ex);
        }
return null;
  

    
    }
    public static void main(String[] args) throws Exception {
       System.setProperty(
   "javax.net.ssl.trustStore",
   "e:\\soap\\server_keystore");

  System.setProperty(
   "javax.net.ssl.trustStorePassword", 
   "changeit");

		      
         HttpsTest ht = new HttpsTest();
         ht.init();
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(ht.getKeyManagerFactory(), new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
        URL console = new URL("https://localhost:9876/soap");
        HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
        conn.setSSLSocketFactory(sc.getSocketFactory());
  //      conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
        conn.connect();
//        conn.getDoInput();
//        conn.getDoOutput();
      //  conn.getSSLSocketFactory()
        System.out.println(conn.getResponseCode());
    }
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -