Minio使用https自簽證書

自簽證書參考: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…