CN113676321A - 基于http连接方式绕过验证本地ssl公钥访问https服务的方法 - Google Patents
基于http连接方式绕过验证本地ssl公钥访问https服务的方法 Download PDFInfo
- Publication number
- CN113676321A CN113676321A CN202111174818.1A CN202111174818A CN113676321A CN 113676321 A CN113676321 A CN 113676321A CN 202111174818 A CN202111174818 A CN 202111174818A CN 113676321 A CN113676321 A CN 113676321A
- Authority
- CN
- China
- Prior art keywords
- http
- public key
- access
- https
- ssl
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012795 verification Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000005516 engineering process Methods 0.000 claims description 19
- 238000011161 development Methods 0.000 abstract description 6
- 238000012423 maintenance Methods 0.000 abstract description 5
- 230000003993 interaction Effects 0.000 abstract description 3
- 241000219357 Cactaceae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供基于http连接方式绕过验证本地ssl公钥访问https服务的方法,涉及应用交互技术领域。包括以下步骤:S1、在共用的Http协议链路中,创建名为X509TrustManager的接口,S2、设置协议http和https对应的处理socket链接工厂的对象socketFactory,S3、自定义一个CloseableH ttpClient客户端对象,S4、根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容。本发明不需要在本地保存被访问Https服务器对应的SSL公钥证书,即不要本地验证公钥证书即可实现访问Https服务,减少了开发和维护的工作量。
Description
技术领域
本发明涉及应用交互技术领域,特别的为基于http连接方式绕过验证本地ssl公钥访问https服务的方法。
背景技术
HTTP协议可能是现在Internet上使用得最多、最重要的协议了,越来越多的Java应用程序需要直接通过HTTP协议来访问网络资源。虽然在JDK的java.net包中已经提供了访问HTTP协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。但是传统的访问https服务的方法,需要在本地保存被访问Https服务器对应的SSL公钥证书,造成了开发和维护非常庞大的工作量。
综上所述,研发基于http连接方式绕过验证本地ssl公钥访问https服务的方法,仍是应用交互技术领域中急需解决的关键问题。
发明内容
本发明提供的了基于http连接方式绕过验证本地ssl公钥访问https服务的方法,本发明不需要在本地保存被访问Https服务器对应的SSL公钥证书,即不要本地验证公钥证书即可实现访问Https服务,减少了开发和维护的工作量。
为实现以上目的,本发明通过以下技术方案予以实现:基于http连接方式绕过验证本地ssl公钥访问https服务的方法,包括以下步骤:
S1、在共用的Http协议链路中,创建名为X509TrustManager的接口;
S2、设置协议http和https对应的处理socket链接工厂的对象socket Factory;
S3、自定义一个CloseableHttpClient客户端对象;
S4、根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容。
本发明进一步设置为:在S1操作步骤中,创建一个返回值为SSLContext对象,在SSLContext对象中创建名为X509TrustManager的接口,用于绕过SSL证书验证。
本发明进一步设置为:创建名为X509TrustManager的接口的技术包括javax.net.ssl.SSLContext技术、javax.net.ssl.TrustManager技术和javax.net.ssl.X509TrustManager技术。
本发明进一步设置为:在S2操作步骤中,所述https的协议的设置采用S1中已初始化的SSLContext对象进行设置。
本发明进一步设置为:在S2操作步骤中,设置协议http和https对应的处理socket链接工厂的对象socketFactory的技术包括org.apache.http.config.Registry技术、org.apache.http.config.RegistryBuilder技术、org.apache.http.conn.socket.ConnectionSocketFactory技术、org.apache.http.conn.socket.PlainConnectionSocketFactory技术和org.apache.http.conn.ssl.SSLConnectionSocketFactory技术。
本发明进一步设置为:在S3操作步骤中,自定义一个CloseableHttpClient客户端对象的方法为:
以S2中的SSLContext对象为参数新建一个PoolingHttpClientConnectionManager对象connManager;以此connManager为参数新建一个CloseableHttpClient客户端对象client。
本发明进一步设置为:在S4操作步骤中,根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容技术包括org.apache.http.client.methods.HttpGet技术、HttpPost技术和org.apache.http.client.methods.CloseableHttpResponse技术。
本发明提供了基于http连接方式绕过验证本地ssl公钥访问https服务的方法。具备以下有益效果:
本发明通过在共用的Http协议链路中,创建名为X509TrustManager的接口、设置协议http和https对应的处理socket链接工厂的对象socketFactory、自定义一个CloseableHttpClient客户端对象以及根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容,不需要在本地保存被访问Https服务器对应的SSL公钥证书,即不要本地验证公钥证书即可实现访问Https服务,减少了开发和维护的工作量。
附图说明
图1为Https访问过程的流程图;
图2为绕过验证本地SSL公钥方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合实施例对本发明作进一步的描述。
实施例:
基于Httpclient请求框架通过HTTP协议访问HTTPS网络资源,在握手建立链接时,需要验证客户端保存在本地的SSL公钥证书,验证证书的节点见图1中“客户端步骤3.客户端验证证书”所示,本发明方法通过实现一个X509TrustManager接口(用于绕过验证),设置协议http和https对应的处理socket链接工厂的对象,使用自定义创建的httpclient对象对https服务发起请求,可以绕过验证本地公钥证书步骤,与服务端建立链接,成功请求到服务内容,具体方法步骤如下:
请参照图2所示,基于http连接方式绕过验证本地ssl公钥访问https服务的方法,包括以下步骤:
步骤一、在共用的Http协议链路中,创建名为X509TrustManager的接口。
创建一个返回值为SSLContext对象,在SSLContext对象中创建名为X509TrustManager的接口,用于绕过SSL证书验证。
创建名为X509TrustManager的接口的技术包括javax.net.ssl.SSLContext技术、javax.net.ssl.TrustManager技术和javax.net.ssl.X509TrustManager技术。
步骤二、设置协议http和https对应的处理socket链接工厂的对象socketFactory。
设置协议http和https对应的处理socket链接工厂的对象socketFactory的技术包括org.apache.http.config.Registry技术、org.apache.http.config.RegistryBuilder技术、org.apache.http.conn.socket.ConnectionSocketFactory技术、org.apache.http.conn.socket.PlainConnectionSocketFactory技术和org.apache.http.conn.ssl.SSLConnectionSocketFactory技术。
https的协议的设置采用步骤一中已初始化的SSLContext对象进行设置。
步骤三、自定义一个CloseableHttpClient客户端对象。
自定义一个CloseableHttpClient客户端对象的方法为:
以步骤二中的SSLContext对象为参数新建一个PoolingHttpClientConnectionManager对象connManager;以此connManager为参数新建一个CloseableHttpClient客户端对象client。
步骤四、根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容。
根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容技术包括org.apache.http.client.methods.HttpGet技术、HttpPost技术和org.apache.http.client.methods.CloseableHttpResponse技术。
本发明通过在共用的Http协议链路中,创建名为X509TrustManager的接口、设置协议http和https对应的处理socket链接工厂的对象socketFactory、自定义一个CloseableHttpClient客户端对象以及根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容,不需要在本地保存被访问Https服务器对应的SSL公钥证书,即不要本地验证公钥证书即可实现访问Https服务,减少了开发和维护的工作量。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.基于http连接方式绕过验证本地ssl公钥访问https服务的方法,其特征在于,包括以下步骤:
S1、在共用的Http协议链路中,创建名为X509TrustManager的接口;
S2、设置协议http和https对应的处理socket链接工厂的对象socketFactory;
S3、自定义一个CloseableHttpClient客户端对象;
S4、根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容。
2.根据权利要求1所述的基于http连接方式绕过验证本地ssl公钥访问https服务的方法,其特征在于:在S1操作步骤中,创建一个返回值为SSLContext对象,在SSLContext对象中创建名为X509TrustManager的接口,用于绕过SSL证书验证。
3.根据权利要求2所述的基于http连接方式绕过验证本地ssl公钥访问https服务的方法,其特征在于:创建名为X509TrustManager的接口的技术包括javax.net.ssl.SSLContext技术、javax.net.ssl.TrustManager技术和javax.net.ss1.X509TrustManager技术。
4.根据权利要求1所述的基于http连接方式绕过验证本地ssl公钥访问https服务的方法,其特征在于:在S2操作步骤中,所述https的协议的设置采用S1中已初始化的SSLContext对象进行设置。
5.根据权利要求1所述的基于http连接方式绕过验证本地ssl公钥访问https服务的方法,其特征在于:在S2操作步骤中,设置协议http和https对应的处理socket链接工厂的对象socketFactory的技术包括org.apache.http.config.Registry技术、org.apache.http.config.RegistryBuilder技术、org.apache.http.conn.socket.ConnectionSocketFactory技术、org.apache.http.conn.socket.PlainConnectionSocketFactory技术和org.apache.http.conn.ssl.SSLConnectionSocketFactory技术。
6.根据权利要求1所述的基于http连接方式绕过验证本地ss1公钥访问https服务的方法,其特征在于:在S3操作步骤中,自定义一个CloseableHttpClient客户端对象的方法为:
以S2中的SSLContext对象为参数新建一个PoolingHttpClientConnectionManager对象connManager;以此connManager为参数新建一个CloseableHttpClient客户端对象client。
7.根据权利要求1所述的基于http连接方式绕过验证本地ssl公钥访问https服务的方法,其特征在于:在S4操作步骤中,根据需要使用get或post方式,设置需要的参数,请求目标服务器,获得服务器返回内容技术包括org.apache.http.client.methods.HttpGet技术、HttpPost技术和org.apache.http.client.methods.CloseableHttpResponse技术。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111174818.1A CN113676321A (zh) | 2021-10-09 | 2021-10-09 | 基于http连接方式绕过验证本地ssl公钥访问https服务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111174818.1A CN113676321A (zh) | 2021-10-09 | 2021-10-09 | 基于http连接方式绕过验证本地ssl公钥访问https服务的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113676321A true CN113676321A (zh) | 2021-11-19 |
Family
ID=78550556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111174818.1A Pending CN113676321A (zh) | 2021-10-09 | 2021-10-09 | 基于http连接方式绕过验证本地ssl公钥访问https服务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676321A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486343A (zh) * | 2014-12-18 | 2015-04-01 | 广东粤铁科技有限公司 | 一种双因子双向认证的方法及系统 |
-
2021
- 2021-10-09 CN CN202111174818.1A patent/CN113676321A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486343A (zh) * | 2014-12-18 | 2015-04-01 | 广东粤铁科技有限公司 | 一种双因子双向认证的方法及系统 |
Non-Patent Citations (1)
Title |
---|
哈哈呵H: "HttpClient配置SSL绕过https证书", pages 2 - 4, Retrieved from the Internet <URL:https://www.cnblogs.com/yaowen/p/9238651.html> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10097624B1 (en) | Systems and methods for distributed installation of API and plugins | |
US10225330B2 (en) | Auto-documentation for application program interfaces based on network requests and responses | |
US11838355B2 (en) | Auto-documentation for application program interfaces based on network requests and responses | |
US8763084B2 (en) | Networking as a service | |
US20190034210A1 (en) | Systems and methods for distributed api gateways | |
JP5364850B2 (ja) | データ環境のためのセルフサービス構成 | |
US9544188B2 (en) | System and method for webtier providers in a cloud platform environment | |
US8117297B2 (en) | System and method of device-to-server registration | |
CN112035215A (zh) | 节点集群的节点自治方法、系统、装置及电子设备 | |
US20120246226A1 (en) | System and method for sharing data from a local network to a remote device | |
CN111586030A (zh) | 一种基于微服务多租户的接口鉴权、权限验证方法及系统 | |
US20130086141A1 (en) | Systems and methods for security token management service hosted in application server | |
WO2008095375A1 (fr) | Systeme et procede pour configurer un dispositif de terminal | |
CN115357308B (zh) | 基于Docker的边缘物联代理装置、系统及应用方法 | |
KR100736081B1 (ko) | 웹 서비스 제공 장치, 웹 서비스 요청 장치, 웹 서비스제공 방법 및 웹 서비스 요청 방법 | |
US11425172B2 (en) | Application security for service provider networks | |
CN113676321A (zh) | 基于http连接方式绕过验证本地ssl公钥访问https服务的方法 | |
US20060004832A1 (en) | Enterprise infrastructure management appliance | |
US7805733B2 (en) | Software implementation of hardware platform interface | |
CN115811457A (zh) | 多源数据融合的一体化数据采集方法 | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
CN115918035A (zh) | 用于实现家庭计算云的方法和装置 | |
Bajpai et al. | Managing home routers with netconf over tls and netconf call home | |
CN112738069B (zh) | 一种基于有状态和无状态认证机制的融合方法、系统及服务器 | |
CN109600379B (zh) | Https重定向的降噪方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211119 |
|
RJ01 | Rejection of invention patent application after publication |