https请求带证书发送报文

public String sendXml(String sendurl, String sendData) throws Exception {
File trustedKeystoreFile = new File(sslTrustStore);
BufferedReader reader = null;
CloseableHttpResponse resp = null;
String resultuestStr1 = null;
try {
SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(null, new TrustSelfSignedStrategy())
.loadKeyMaterial(trustedKeystoreFile, sslTrustStorePassword.toCharArray(),
sslTrustStorePassword.toCharArray())
.build();

SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslcontext,
new String[] { "TLSv1.2", "TLSv1.1", "TLSv1" }, null, new NoopHostnameVerifier());

CloseableHttpClient client = HttpClients.custom().setSSLSocketFactory(sslSocketFactory).build();
HttpPost post = new HttpPost(sendurl);
HttpEntity entity = new StringEntity(sendData, "utf-8");
post.setHeader("Content-type", "text/xml");
post.setEntity(entity);
resp = client.execute(post);
reader = new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
StringBuilder dataString = new StringBuilder();
String inputLine;
while ((inputLine = reader.readLine()) != null) {
dataString.append(inputLine).append("\n");
}
resultuestStr1 = dataString.toString().replace("&lt;", "<");
} catch (KeyManagementException e1) {
e1.printStackTrace();
} catch (UnrecoverableKeyException e1) {
e1.printStackTrace();
} catch (NoSuchAlgorithmException e1) {
e1.printStackTrace();
} catch (KeyStoreException e1) {
e1.printStackTrace();
} catch (CertificateException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
return resultuestStr1;
}

原文地址:https://www.cnblogs.com/wyllxx/p/9376824.html

时间: 2024-10-04 16:12:54

https请求带证书发送报文的相关文章

Nodejs后台发送https请求验证证书

项目中用到了很多第三方的库,这些库在生产环境使用的时候的都会发送https的请求出去,但是再发送请求的时候nodejs会验证证书,没有证书的时候都会无法通过,这里可以修改代码进行修改这个问题, 1.在发送https请求的时候添加如下代码: rejectUnauthorized: false, 如图,某个库: 2.还有就是全局设置. 启动程序的时候设置: process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

HTTPS请求 SSL证书验证

import urllib2 url = "https://www.12306.cn/mormhweb/" headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} request = urllib2.Request(ur

MAC配置Charles,过滤筛选抓取https请求(证书安装完毕且设置信任后,https依然为unknown的原因)

MAC安装证书,设置为始终信任 Charles代理信息设置 Charles所在MAC的IP地址查看 手机安装证书 根据下图说明操作 vivo/iphone为例 Android&iphone手机设置代理 ①保证手机同mac连接的同一wifi ②在手机端wifi详情处选择配置代理:手动,IP:mac的IP(即Charles所在MAC的IP地址查看的结果)端口号8888 手机浏览器访问:chls.pro/ssl,下载证书. iphone 在设置——通用——描述文件处安装完毕后,在设置——关于本机——证

java的https请求解决证书问题

package sqr.srchSpider.utils; import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.n

iOS开发 支持https请求以及ssl证书配置(转)

原文地址:http://blog.5ibc.net/p/100221.html 众所周知,苹果有言,从2017年开始,将屏蔽http的资源,强推https 楼主正好近日将http转为https,给还没动手的朋友分享一二 一.证书准备 1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你就可以得到cer类型的证书了.双击,导入电脑. 2.证书放入工程 1

HTTPClient 发送HTTPS请求

HTTPClient 发送HTTP请求就不多说了, 现在给出发送HTTPS请求, 主要思路是忽略证书验证. /** * * @param url * @param contextType "image/jpeg","application/Json" * @return */ public static byte[] sendHttpsGetUrl(HttpClient httpClient1 ,String url,String contextType) { //

AFNetWorking3.0使用 自签名证书的https请求

前几日,项目组出于安全角度的考虑,要求项目中的请求使用https请求,因为是企业内部使用的app,因此使用了自签名的证书,而自签名的证书是不受信任的,所以我们就需要自己来做证书的验证,包括服务器验证客户端的证书和我们要信任服务器的证书,SSL双向认证的原理我这里就不赘述了,这里提供两篇博客 iOS安全系列之一:HTTPS: http://oncenote.com/2014/10/21/Security-1-HTTPS/ iOS安全系列之二:HTTPS进阶: http://oncenote.com

在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需要获取认证信息(如Cookie),所以返回的是HttpWebResponse对象,有了返回的HttpWebResponse实例,可以获取登录过程中返回的会话信息,也可以获取响应流. 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text;

【转】在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

http://zhoufoxcn.blog.51cto.com/792419/561934 这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现.在很多地方都需要验证用户身份才可以进行下一步操作,这就免不了POST请求来登录,在实际过程中发现有些网站登录是HTTPS形式的,在解决过程中遇到了一些小问题,现在跟大家分享. 通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpW