Unexpected error: java.security.InvalidAlgorithmParameterException

embedded/2024/10/20 14:54:40/

javasecurityInvalidAlgorithmParameterException_0">Unexpected error: java.security.InvalidAlgorithmParameterException

1. 异常信息

Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty executing POST https://xxxx/v1/corp/createcorp] with root cause fegin

2. 自定义 Feign 客户端以忽略 HTTPS 证书验证

这个错误提示说明在执行 HTTPS 请求时,Java 虚拟机无法找到任何可信任的根证书来验证服务器的 SSL 证书。这通常发生在 SSL 握手阶段,当客户端尝试建立与服务器的安全连接时。

错误发生在执行 POST 请求到 https://xxx/v1/corp/createcorp,这很可能是一个调用服务(如果这是正确的服务地址)的API。

java">import feign.Client;
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;/*** feign 日志基本配置*/
@Configuration
public class FeignConfig {@Beanpublic Client feignClient() throws NoSuchAlgorithmException, KeyManagementException {TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[]{};}}};SSLContext sslContext = SSLContext.getInstance("TLS");sslContext.init(null, trustAllCerts, new java.security.SecureRandom());// 创建一个Client.Default实例,它接受一个SSLSocketFactory和一个HostnameVerifierreturn new Client.Default(sslContext.getSocketFactory(), (hostname, session) -> true);}
}
3. feign 配置
java">@FeignClient(name = "tt", url = "${cc.url}")
public interface TtClient {@PostMapping("/v1/corp/createcorp")JSONObject createcorp(@RequestBody JSONObject body);
}

http://www.ppmy.cn/embedded/129018.html

相关文章

特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计

在机器学习领域,特征工程是提升模型性能的关键步骤。它涉及选择、创建和转换输入变量,以构建最能代表底层问题结构的特征集。然而,在许多实际应用中,仅仅依靠统计相关性进行特征选择可能导致误导性的结果,特别是在我们…

数据结构与算法JavaScript描述练习------第14章高级算法

1. 写一个程序&#xff0c;使用暴力技巧来寻找最长公共子串。 function lcsBruteForce(word1, word2) {var maxLength 0;var longestSubstring "";for (var i 0; i < word1.length; i) {for (var j i 1; j < word1.length; j) {var substring word1.sub…

Java基于微信小程序的健身小助手打卡预约教学系统(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

微信小程序设计尺寸

微信小程序的设计尺寸规范主要基于‌rpx单位&#xff0c;规定屏幕宽度为750rpx。‌ 在设计微信小程序时&#xff0c;设计师通常以‌iPhone 6的屏幕尺寸&#xff08;375px&#xff09;作为基准&#xff0c;因为1rpx等于0.5px&#xff0c;即1rpx等于1物理像素。这意味着在设计稿上…

Debug-029-el-table实现自动滚动分批请求数据

前情提要 最近做了一个小优化&#xff0c;还是关于展示大屏方面的。大屏中使用el-table展示列表数据&#xff0c;最初的方案是将数据全部返回&#xff0c;确实随着数据变多有性能问题&#xff0c;有时请求时间比较长。这里做的优化就是实现列表的滚动到距离底部一定高度时再次请…

UDP协议和TCP协议

UDP协议&#xff1a; 是一种无连接的、简单的传输层通信协议&#xff0c;它在IP协议&#xff08;网络层&#xff09;之上提供服务。 特点&#xff1a; 无连接&#xff1a;在数据传输前&#xff0c;发送方和接收方之间不需要建立连接&#xff0c;可以直接发送数据。 简单&…

读数据工程之道:设计和构建健壮的数据系统14源系统

1. 源系统中的数据生成 1.1. 数据工程师的工作是从源系统获取数据&#xff0c;对其进行处理&#xff0c;使其有助于为下游用例提供服务 1.2. 数据工程师的角色将在很大程度上转向理解数据源和目的地之间的相互作用 1.3. 数据工程的最基本的数据管道任务——将数据从A移动到B…

Threejs 实现3D 地图(01)创建基本场景

"d3": "^7.9.0", "three": "^0.169.0", "vue": "^3.5.10" <script setup> import { onMounted,ref } from vue import * as THREE from three import * as d3 from "d3"; //莫开托坐标 矫正地图…