我正在向以下地址发送请求.证书无效,我想忽略它.我根据我在
1,2的研究写了以下代码,但是我无法完成.我正在使用Java 1.7,
https://api.stubhubsandBox.com/search/catalog/events/v3
码
private static final TrustManager[] UNQUESTIONING_TRUST_MANAGER = new TrustManager[]{ new x509trustmanager() { public java.security.cert.X509Certificate[] getAcceptedissuers(){ return null; } public void checkClientTrusted( X509Certificate[] certs,String authType ){} public void checkServerTrusted( X509Certificate[] certs,String authType ){} public void checkClientTrusted( java.security.cert.X509Certificate[] arg0,String arg1) throws CertificateException { // Todo Auto-generated method stub } public void checkServerTrusted( java.security.cert.X509Certificate[] arg0,String arg1) throws CertificateException { // Todo Auto-generated method stub } } }; public static void main(String[] args) { TrustStrategy acceptingTrustStrategy = SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom() .loadTrustMaterial(null,acceptingTrustStrategy) .build(); SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext); CloseableHttpClient httpClient = HttpClients.custom() .setSSLSocketFactory(csf) .build(); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setHttpClient(httpClient); RestTemplate restTemplate = new RestTemplate(requestFactory); String url = "https://api.stubhubsandBox.com/search/catalog/events/v3"; RestTemplate rest = new RestTemplate(); Map<String,String> mvm = new HashMap<String,String>(); mvm.put("Authorization","Bearer TOKEEEEEEEN"); Object object = rest.postForObject(url,null,Object.class,mvm); System.err.println("done"); }
解决方法
您可能已经注意到,Spring的RestTemplate将所有与HTTP(S)相关的内容委托给ClientHttpRequestFactory的底层实现.由于您使用基于HttpClient的实现,以下是有关如何为内部HttpClient实现此功能的几个有用的SO链接:
> Ignoring SSL certificate in Apache HttpClient 4.3
> How to ignore SSL certificate errors in Apache HttpClient 4.0
显然,自4.4版以来,可以这样做:
CloseableHttpClient httpClient = HttpClients.custom().setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
原文地址:https://www.jb51.cc/java/123396.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。