首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java Apache httpclient调用https服务是否需要服务器证书?

Java Apache HttpClient调用HTTPS服务需要服务器证书。

当使用Java Apache HttpClient库调用HTTPS服务时,需要验证服务器的证书。服务器证书用于验证服务器的身份和确保通信的安全性。在建立HTTPS连接时,客户端会检查服务器的证书是否有效、是否过期、是否由受信任的证书颁发机构签发等。如果服务器证书无效或不可信,HttpClient将拒绝建立连接。

为了使Java Apache HttpClient能够验证服务器证书,需要将服务器证书添加到客户端的信任存储中。可以通过以下步骤来实现:

  1. 获取服务器证书:可以通过浏览器访问HTTPS服务,然后导出服务器证书。一般情况下,服务器证书是以.pem或.crt格式保存的。
  2. 创建信任存储:使用Java的keytool工具创建一个信任存储,用于保存服务器证书。可以使用以下命令创建一个空的信任存储:
  3. 创建信任存储:使用Java的keytool工具创建一个信任存储,用于保存服务器证书。可以使用以下命令创建一个空的信任存储:
  4. 将服务器证书导入信任存储:使用keytool工具将服务器证书导入到信任存储中。可以使用以下命令导入证书:
  5. 将服务器证书导入信任存储:使用keytool工具将服务器证书导入到信任存储中。可以使用以下命令导入证书:
  6. 在Java代码中使用信任存储:在HttpClient的配置中,指定信任存储的路径和密码。可以使用以下代码示例:
  7. 在Java代码中使用信任存储:在HttpClient的配置中,指定信任存储的路径和密码。可以使用以下代码示例:

以上步骤完成后,Java Apache HttpClient将能够使用服务器证书验证HTTPS服务的安全性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何让Apache HttpClient 支持SSL配置?

HttpClient 4和5 支持不需要校验证书的接收SSL请求,后文将会介绍如何编写发送带证书HTTPS请求的HttpClient工具类,以及个人如何在工作中实践工具类使用。...HttpClient 请求工具类:支持发送带证书HTTPS 上面介绍的都是服务端如何跳过证书校验的HTTPS请求。 下面介绍如何发送带证书HTTPS请求。...truststore(如果服务器提供truststore的话就不用忽略对服务器证书的校验了) .loadTrustMaterial(new File("D:\\...注意个人实践这里的环境前提,本地有一台配置了SSL证书的Linux服务器,开发过程中通过nginx进行请求转发,达到本地服务器需要HTTPS的接口进行对接的目的。...一般 Apache 和 Nginx 服务器应用偏向于使用 PEM 这种编码格式。 (5)*.key 单独存放的pem格式的密钥,一般保存为*.key。 (6)*.cer *.crt 两个指的都是证书

19510

【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证

参考资料:http://lixor.iteye.com/blog/1532655 双向验证 为服务器生成证书 keytool -genkey -v -alias server -keyalg RSA -...-storetype PKCS12 -keystore d:\key2\client.key.p12 导入客户端证书服务器信任客户端证书 1.先把客户端证书到处为cer文件格式 keytool...client.key.p12 -storetype PKCS12 -storepass 123456 -rfc -file d:\key2\client.key.cer 2.将客户端cer导入到服务器证书库...2.在客户端安装服务器证书 选择受信任的根证书颁发机构 配置tomcat <Connector port="8443" protocol="org.<em>apache</em>.coyote.http11...http接口众多,请采用restful统一管理,使代码更清晰 先说说接口<em>调用</em>时,怎么绕过<em>https</em>验证,即别人的项目是以<em>https</em>方式发布的,如果是双向验证,则<em>需要</em><em>证书</em>密码等。

1.7K30

java(优化20) httpClient简介

这里有两种方法可以打开https连接,第一种就是得到服务器颁发的证书,然后导入到本地的keystore中;另外一种办法就是通过扩展HttpClient的类来实现自动接受证书。...取得并且导入证书证书可以通过IE来获得: 1. 用IE打开需要连接的https网址,会弹出如下对话框: 2....如果想测试是否能连上https,只需要稍改一下GetSample例子,把请求的目标变成一个https地址。...6.1服务器认证 HttpClient处理服务器认证几乎是透明的,仅需要开发人员提供登录信息(login credentials)。...七、代理器 HttpClient中使用代理服务器非常简单,调用HttpClient中setProxy方法就可以,方法的第一个参数是代理服务器地址,第二个参数是端口号。

85230

Nginx配置Https单向认证、双向认证以及多证书配置

2.2、Postman调用需要把原来请求的http替换成https即可,不需要做其它任何改动。 2.3、浏览器调用 也是把http替换成https就行了。...2.4、Java客户端调用 网上很多都是采用httpclient作为http库,这里比较推荐使用Hutool工具包。...3.4、Java客户端调用 这里我们使用httpclient来发起https的请求进行双向认证。...,可以发现只有Java客户端调用时会需要用到服务证书;而用Postman、浏览器这些客户端工具时我们并没有配置服务证书,是因为在一开始建立连接时,服务端本来就会把自己的证书发给客户端去进行认证。...**需要注意的是:如果使用SNI功能,服务器签发公钥证书时,填写的域名信息`Common Name需要是泛域名,比如*.test.com`。这样客户端在验证服务器域名时才会通过**。

9.5K20

Nginx配置Https单向认证、双向认证以及多证书配置

2.2、Postman调用需要把原来请求的http替换成https即可,不需要做其它任何改动。 2.3、浏览器调用 也是把http替换成https就行了。...2.4、Java客户端调用 网上很多都是采用httpclient作为http库,这里比较推荐使用Hutool工具包。...3.4、Java客户端调用 这里我们使用httpclient来发起https的请求进行双向认证。...,可以发现只有Java客户端调用时会需要用到服务证书;而用Postman、浏览器这些客户端工具时我们并没有配置服务证书,是因为在一开始建立连接时,服务端本来就会把自己的证书发给客户端去进行认证。...需要注意的是:如果使用SNI功能,服务器签发公钥证书时,填写的域名信息Common Name需要是泛域名,比如*.test.com。这样客户端在验证服务器域名时才会通过。

9.7K21

Feign HTTP连接的几点建议 顶

Feign默认使用的JDK自带的HTTP方式(没有连接池,连接速率不够) Feign最大的优化点是更换HTTP底层实现(使用ApacheHTTPClient) 具体配置如下 pom <dependency...所以我们需要生成证书,由于是微服务之间内部调用,所以我们不需要去公证机关申请证书。...(NIO直接分配的堆外内存) direct-buffers: true 此时启动配置项目 我们必须使用https://来访问我们的API了,当然chrome会报不安全的连接,因为它的证书不是实际证书部门的证书...配置调用HTTPS的微服务的客户端(注意,以下设置只能让https生效,但还无法使用http 2.0,有待研究) 将带有公钥的rabbittruststore.jks复制到项目的resource目录下。...注意是调用方的项目中 使用Apache HttpClient客户端: pom io.github.openfeign <artifactId

6.8K41

HTTP协议和HTTPS协议初探

该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新。 ---- 请求报头后述 请求正文 ---- HTTP协议详解之响应 在接收和解释请求消息后,服务器返回一个HTTP响应消息。...HTTPS和SSL支持使用X。509数字认证,如果需要的话用户可以确认发送者是谁。 使用HTTPS步骤 客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤。...(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。 (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。...两者的区别 https协议需要到ca申请证书,一般免费证书很少,需要交费。...采用https 的server 必须从CA 申请一个用于证明服务器用途类型的证书。 该证书只有用于对应的server 的时候,客户度才信任此主机。

94330

httpclient4.x访问https

https有单向认证和双向认证之分,单向认证即客户端只会认证服务端,双向认证是客户端需要认证服务端,服务端也需要认证客户端。...双向认证的话,客户端访问服务端也要提供证书,否则服务端拒绝响应。而且如果是自己生产的证书需要把客户端的证书导入到服务端的信任列表中,否则服务端也会拒绝。...前面说到,如果服务端的证书不是向第三方权威机构申请,使用httpclient访问会报错。解决办法由两种,第一种是将证书导入jre的密钥库的信任列表;第二种是让他不去验证服务证书。...如果需要双向认证,还需要httpclient指定客户端需要使用的证书。...,这个方法有很多重载的方法,比如可以使用密钥库 loadKeyMaterial()设置客户端需要发送到服务端的证书,有两个参数,密钥库和密钥密码,密钥库是client1.p12,keystore.load

56210

微信 开发诡异的40029错误invalid code错误 443 failed to respond错误的解决办法

APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 当点击菜单按钮时微信服务器会将...还有报api.weixin.qq.com:443 failed to respond 微信服务器不稳定,当我们开发完成应用准备上公众号测试时,老是刷新出空白界面,但有时又有进去,感觉碰运气似的,体验不好...对象,忽略证书验证 * * @param httpClient * @return * @author:Administrator * @date:2014-9-2 */ private...注意一下回调方法不会只回调一次,需要一个字段表示已经收到微信服务器发送的该订单支付回调链接。 2....如果收不到请求,请注意一下是否javaweb后端设置了过滤,返回给微信服务器的响应是登陆界面。比如某个界面需要用户权限验证。

1.9K20

Httpclient 调用 HTTPS 加密通道的Restful服务

为 Restful 增加 SSL 证书,保证数据在传输中安全。 证书有两类,一类是授信办颁发构的证书,另一类是自己创建的证书,两种证书使用效果上一样。...授信证书的跟证书默认已经安装在操作系统,浏览器中,访问时会出现锁头跟绿色标识。这种证书需要购买的,因为这些证书厂商每年都要像微软,苹果等等操作系统厂商支付一定费用。...对于内部业务不需要对外提供服务,例如Restful 服务,我见意自己创建证书,如果你需要让浏览器地址栏变成绿色,只需将你的根证书导入进去就可可以了。...-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <groupId...HTTPS 21.1.3.1.

3K50
领券