当前位置: 首页 > news >正文

Java 解决远程调用 ssl 证书认证问题

Java 解决远程调用 ssl 证书认证问题

  • 方法 1
  • 方法 2
  • 方法 3

方法 1

在 jdk 目录导入证书。
首先要下载 服务器 ssl 证书,下载完成之后。把它命名成 Root.cer
后面使用 cmd 命令行 在 jdk 目录导入。

例如 :
jdk 的目录为:D:\JetBranins\Intellij IDEA Community 2023.2.5\jre64\lib\security\cacerts
证书文件的路径为:D:/Root.cer

打开 cmd , 按照自己的文件所在的目录进行导入命令执行

keytool -importcert -trustcacertsa -noprompt -file D:/Root.cer -keystore "D:\JetBranins\Intellij IDEA Community 2023.2.5\jre64\lib\security\cacerts" -alias "root-ca" -storepass changeit

接下来会有提示,输入 yes 即可。

最后重启一下电脑。

还是不行的话,就检查 idea 的配置。

Java Compiler 及 Project Structure 下 jdk 的版本是否正确和你目录对应上。

方法 2

假如你的项目是 spring boot ,远程调用是 feign 组件的话,可以通过修改配置文件来跳过 ssl 证书校验。

yaml 文件中加入:

feign:httpclient:enabled: truedisableSslValidation: true

方法 3

假如你的项目是 spring boot ,可以加入 跳过证书的 java 文件,其实就是创建一个 bean 对象。
注意:需要把该文件放在 springboot 能扫描到的目录。

@Bean
public Boolean disablesSLvalidation() throws Exception {final SSLContext sslcontext = SSLContext.getInstance("TLS");sslcontext.init(null, new TrustManager[]{new X509TrustManager(){@Overridepublic void checkclientTrusted(X509Certificate[]x509Certificates, string s){}@Overridepublic void checkserverTrusted(X509Certificate[]x509certificates, string s){}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[0];}}}, null);HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {public boolean verify(String hqstname, SLLSession session) {return true;}});return true;
}

详细文件下载地址:https://download.csdn.net/download/qq_44538738/88655466

http://www.lryc.cn/news/268337.html

相关文章:

  • kubernetes(k8s) Yaml 文件详解
  • 手拉手后端Springboot整合JWT
  • 小狐狸GPT付费2.4.9 去除授权弹窗版
  • Scrapy爬虫中合理使用time.sleep和Request
  • 在Spring Cloud中使用Ribbon完成一个简单的负载均衡demo
  • mysql-5.6.16的内存泄漏问题
  • 相机内参标定理论篇------相机模型选择
  • java设计模式学习之【状态模式】
  • 使用aspose.Words更新表格列宽
  • pycharm 工具栏不见了
  • 图灵日记之java奇妙历险记--类和对象
  • Kotlin 枚举类
  • 可运营的Leadshop开源商城小程序源码 +H5公众号+带视频教程
  • Qt底层机制之对象树总结
  • QT C++ TCP Socket 请求心知天气
  • 双向链表的实现及头尾插入删除
  • C语言—每日选择题—Day62
  • 基于 Sentry 的前端监控系统搭建(Linux)
  • 【C++入门到精通】Lock_guard与Unique_lock C++11 [ C++入门 ]
  • 电路设计(8)——计时器的multism仿真
  • Jmeter测试实践:文件下载接口
  • PyQt5实现学生管理系统第三天(下)
  • 第4章 | 安徽某高校《统计建模与R软件》期末复习
  • localforage本地存储(融合Web Storage,Web SQL Database,ndexedDB三种前端存储)
  • 【JavaWeb学习笔记】17 - ThreadLocal
  • 【ARMv8M Cortex-M33 系列 1 -- SAU 介绍】
  • sklearn 逻辑回归Demo
  • 什么是众创空间?他有什么特点?
  • 什么是数据分析思维
  • 利用Milvus Cloud和LangChain构建机器人:一种引人入胜且通俗易懂的方法