集册 Java实例教程 设置SSL连接

设置SSL连接

欢马劈雪     最近更新时间:2020-01-02 10:19:05

397
设置SSL连接


import java.net.URL;/* 来 自 nowjava.com - 时  代  Java*/

import java.security.GeneralSecurityException;

import java.security.SecureRandom;

import javax.net.ssl.HostnameVerifier;

import javax.net.ssl.HttpsURLConnection;

import javax.net.ssl.SSLContext;

import javax.net.ssl.SSLSession;

import javax.net.ssl.X509TrustManager;


public class Main{

    public static void setupSSLConnection(HttpsURLConnection connection,

            URL requestUrl) throws GeneralSecurityException {

        SSLContext sslContext = createSSLContext();

        HostnameVerifier sslHostnameVerifier = createSSLHostnameVerifier(requestUrl

                .getHost());


        connection.setSSLSocketFactory(sslContext.getSocketFactory());

        connection.setHostnameVerifier(sslHostnameVerifier);/**来 自 N o w J a v a . c o m - 时代Java**/

        //HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());

    }

    public static SSLContext createSSLContext()

            throws GeneralSecurityException {

        SSLContext context = SSLContext.getInstance("TLS");

        context.init(

                null,

                new X509TrustManager[] { new CertificateAuthorityTrustManager() },

                new SecureRandom());

        return context;

    }

    public static HostnameVerifier createSSLHostnameVerifier(

            final String apiHostname) {

        HostnameVerifier hostnameVerifier = new HostnameVerifier() {

            @Override

            
展开阅读全文