自签证书参考:window和ubuntu自签证书_windows 自签证书-CSDN博客

// certFilePath: 直接放在 resources 目录下 或者可以自定实现读取逻辑  // 读取的是  .crt 证书文件public static OkHttpClient createTrustingOkHttpClient(String certFilePath) throws Exception {// 1. 加载证书CertificateFactory cf = CertificateFactory.getInstance("X.509");InputStream certInput = SSLUtil.class.getClassLoader().getResourceAsStream(certFilePath);if (certInput == null || certInput.available() == 0) {throw new RuntimeException("证书读取失败");}X509Certificate ca = (X509Certificate) cf.generateCertificate(certInput);// 2. 创建KeyStore并导入证书KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());keyStore.load(null, null);keyStore.setCertificateEntry("ca", ca);// 3. 创建TrustManager信任我们的KeyStoreTrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());tmf.init(keyStore);// 4. 创建SSLContextSSLContext sslContext = SSLContext.getInstance("TLS");sslContext.init(null, tmf.getTrustManagers(), null);// 5. 创建OkHttpClientreturn new OkHttpClient.Builder().sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) tmf.getTrustManagers()[0]).hostnameVerifier((hostname, session) -> true) // 可选:禁用主机名验证.build();}public static void main(String[] args) throws Exception {// 构建 OkHttpClientOkHttpClient insecureClient = createTrustingOkHttpClient("test_10.crt");MinioClient client = MinioClient.builder().endpoint("https://192.168.0.101:9000").credentials("abc-bucket", "123456").region("us-east-1").httpClient(insecureClient).build();List<Bucket> buckets = client.listBuckets();System.out.println(buckets);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/85538.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/85538.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/85538.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汽车前纵梁焊接总成与冲压件的高效自动化三维检测方案

汽车主体结构件上存在很多安装位&#xff0c;为保证汽车装配时的准确性&#xff0c;主体结构件需要进行全方位的尺寸和孔位置精度检测&#xff0c;以确保装配线的主体结构件质量合格。 前纵梁焊接总成是车身框架的核心承载部件&#xff0c;焊接总成由多片钣金冲压件焊接组成&a…

F接口基础.go

前言&#xff1a;接口是一组方法的集合&#xff0c;它定义了一个类型应该具备哪些行为&#xff0c;但不关心具体怎么实现这些行为。一个类型只要实现了接口中定义的所有方法&#xff0c;那么它就实现了这个接口。这种实现是隐式的&#xff0c;不需要显式声明。 目录 接口的定…

cartographer官方指导文件说明---第3章 cartographer前端算法流程介绍

cartographer官方指导文件说明 第3章 cartographer前端算法流程介绍 3.1 Scan Match扫描匹配 扫描匹配&#xff08;Scan Matching&#xff09;是 Cartographer 中实现局部SLAM的核心技术&#xff0c;它通过优化算法将当前激光扫描数据对齐到子图地图中。下面从计算过程、数学…

汽车整车厂如何用数字孪生系统打造“透明车间”

随着工业4.0时代的发展&#xff0c;数字孪生技术已成为现代制造业的重要利器。特别是在汽车整车厂&#xff0c;通过数字孪生系统的应用&#xff0c;能够有效打造一个“透明车间”&#xff0c;实现生产过程的全面可视化与实时监控&#xff0c;提高生产效率&#xff0c;降低成本&…

openKylin适配RISC-V高性能服务器芯片,携手睿思芯科共拓智算新蓝海

3月31日&#xff0c;睿思芯科&#xff08;深圳&#xff09;技术有限公司&#xff08;简称“睿思芯科”&#xff09;2025春季新品发布会在深圳前海国际会议中心盛大举行&#xff0c;作为RISC-V领域的年度盛事&#xff0c;此次发布会吸引了众多业内目光。此次发布会上&#xff0c…

【已解决】lxml.etree.ParserError: Document is empty

本专栏解决日常生活工作中非快速找到解决方案的问题。 问题背景 在爬取某网站时&#xff0c;使用开源框架报错&#xff1a;lxml.etree.ParserError: Document is empty 解决方案 1、多个搜索引擎中查找&#xff0c;建议都是对lxml的python源码进行修改&#xff0c;不好用。…

mac电脑调试iphone真机safari网页

mac电脑调试iphone真机safari网页 start 本文主要是记录一下如何调试苹果手机上的safari的网页 方法 1.苹果手机打开 web检查器 操作步骤&#xff1a; 打开设置搜索safari最底部“高级”开启“网页检查器” 2.mac电脑打开safari 操作步骤&#xff1a; 先用数据线连接手机和…

opencv依据图像类型读取图像像素点

Mat数据类型和通道对应的type()&#xff1a; 库类型C1C2C3C4CV_8U081624CV_8S191725CV_16U2101826CV_16S3111927CV_32S4122028CV_32F5132129CV_64F6142230 通过c程序查看类型并读取图像像素点&#xff1a; switch (im->type()){case 0:std::cout << "at (&quo…

软件架构的发展历程——从早期的单体架构到如今的云原生与智能架构

软件架构的发展历程是技术演进与业务需求相互驱动的结果&#xff0c;从早期的单体架构到如今的云原生与智能架构&#xff0c;每一步都在突破系统的可扩展性、灵活性和效率边界。以下是其核心发展脉络及未来趋势的全景解析&#xff1a; 一、发展历程&#xff1a;从单体到智能的…

Oracle 基础语句大全:从数据定义到复杂查询

一、DDL&#xff08;数据定义语言&#xff09;&#xff1a;定义数据库结构 1. 创建表&#xff08;CREATE TABLE&#xff09; -- 语法格式 CREATE TABLE [schema.]table_name (column1 datatype [CONSTRAINT constraint1],column2 datatype [DEFAULT default_value],-- 表级约…

【学习笔记】锁+死锁+gdb调试死锁

【学习笔记】锁死锁gdb调试死锁 一、互斥锁&#xff08;std::mutex&#xff09; 最基本的锁类型&#xff0c;提供排他性访问&#xff0c;同一时间仅允许一个线程持有锁。 #include <iostream> #include <mutex> #include <thread>std::mutex mtx; // 全局…

Flutter中将bytes转换成XFile对象上传

在Flutter中将字节数据(bytes)转换为XFile对象并上传可以通过以下步骤实现&#xff1a; 1.字节数据转临时文件 首先需要将字节数据写入临时文件&#xff0c;可以使用dart的File类实现&#xff1a; final tempDir await getTemporaryDirectory(); final file File(${tempDi…

饼图:数据可视化的“切蛋糕”艺术

饼图&#xff0c;作为数据可视化家族中最经典、最易识别的成员之一&#xff0c;其核心功能如同其名——像切分蛋糕一样&#xff0c;直观展示一个整体&#xff08;100%&#xff09;被划分为若干组成部分的比例关系。 往期文章推荐: 20.用Mermaid代码画ER图&#xff1a;AI时代的…

Flutter - 原生交互 - 相机Camera - 曝光,缩放,录制视频

曝光 Flutter上CupertinoSlider组件的样式是iOS上的Slider,使用该组件控制曝光量, Camera插件提供的API是CameraController的 Future<double> setExposureOffset(double offset) async {... }最后调用iOS端的系统方法控制曝光值 - (void)setExposureTargetBias:(floa…

Python中布尔值在函数中的巧妙运用

在 Python 中&#xff0c;布尔值&#xff08;True 和 False&#xff09;不仅可以用于简单的条件判断&#xff0c;还可以在函数中发挥强大的作用。通过合理使用布尔值&#xff0c;你可以使函数更加灵活、高效且易于理解。今天&#xff0c;就让我们一起深入探讨如何在函数中巧妙运…

解决sql查询中in查询项过多时很慢的问题

最近遇到查询一张大数据量表时&#xff0c;需要对一个字段做in查询&#xff0c;in中的元素数量可能达到几千个&#xff0c;即使对这个字段加上索引&#xff0c;速度也慢到无法接受 示例表结构如下&#xff1a; 表中有几十万的数据&#xff0c;且example_id和data_id字段加了联…

Spring---Spring MVC 执行流程

SpringMVC执行流程分为两个&#xff1a;前后端分离与视图阶段&#xff08;不分离&#xff09; 视图阶段&#xff08;JSP/Thymeleaf/Freemarker&#xff09; SpringMVC 前后端分离阶段 SpringMVC中重要组建有哪些&#xff1f; 前端控制器&#xff08;DispatcherServlet&#x…

Llama 4模型卡片及提示词模板

Llama 4模型卡片及提示词模板 Llama 4 模型卡及提示格式介绍 Llama 4 模型概述 Llama 4 是一系列预训练和指令微调的混合专家(Mixture-of-Experts, MoE)大语言模型,包含两种规模:Llama 4 Scout和Llama 4 Maverick。该模型针对多模态理解、多语言任务、编码、工具调用及智…

使用Advanced Installer软件将winform程序打包成exe安装文件

使用Advanced Installer软件将winform程序打包成exe安装文件_c#程序打包软件-CSDN博客 软件的下载连接 https://download.csdn.net/download/qq_20222919/87780646

NDS 中文游戏全集下载 任天堂NDS简介NDS支持GBA游戏

这是一份关于任天堂NDS游戏及其平台的简介&#xff1a; 游戏全集打包下载 https://pan.quark.cn/s/8805da9a09c4 NDS 是什么&#xff1f; 全称&#xff1a; Nintendo DS (NDS)类型&#xff1a; 由任天堂开发和发行的掌上游戏机。世代&#xff1a; 第七世代游戏机 (与PSP、Wii…