栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

java.security.cert.CertificateException:没有主题备用名称;

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java.security.cert.CertificateException:没有主题备用名称;

可以通过应用以下代码来解决以下问题,这些代码以不安全的方式连接到受SSL保护的站点。(注意:为了使用cert启用连接到SSL站点,您需要添加tomcat
SSL配置)。

以下代码可以正常工作。

import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.cert.X509Certificate;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 org.springframework.http.HttpEntity;import org.springframework.http.HttpHeaders;import org.springframework.http.HttpMethod;import org.springframework.http.MediaType;import org.springframework.web.client.RestTemplate;static {        disableSslVerification();    }    private static void disableSslVerification() {        try{ // Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {     public X509Certificate[] getAcceptedIssuers() {         return null;     }     public void checkClientTrusted(X509Certificate[] certs, String authType) {     }     public void checkServerTrusted(X509Certificate[] certs, String authType) {     } } }; // Install the all-trusting trust manager SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); // Create all-trusting host name verifier HostnameVerifier allHostsValid = new HostnameVerifier() {     public boolean verify(String hostname, SSLSession session) {         return true;     } }; // Install the all-trusting host verifier HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);        } catch (NoSuchAlgorithmException e) { e.printStackTrace();        } catch (KeyManagementException e) { e.printStackTrace();        }    }    public static void main(String[] args) {        HttpHeaders headers = new HttpHeaders();        headers.add("Accept", "application/json");        headers.add("Content-Type", MediaType.APPLICATION_FORM_URLENCODED.toString());        headers.add("Authorization", "Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXX");        String url = "https://XXXXXXXXXXXXX:XXXX/token";        String dataJSON = "grant_type=password&username=XXXXX&password=XXXXX";        RestTemplate restTemplate = new RestTemplate();        HttpEntity<String> entity = new HttpEntity<String>(dataJSON,headers);        HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);        System.out.println("O/P : "+response.getBody());    }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470128.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号