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

java ssl使用自定义证书

1.证书错误

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

2.生成客户端证书

openssl x509 -in <(openssl s_client -connect 192.168.11.19:8101 -prexit 2>/dev/null) -out 11_19_8101.crt

       会在当前文件夹下生成11_19_8101.crt;如果是其它网址,相应的替换192.168.11.19:8101


3.证书导入到jvm

        到{jdk_home}/jre/bin下,执行下面命令,密码输入changeit,后面提示是否信任该证书,输入Y

keytool -keystore ..\lib\security\cacerts -import -alias 192.168.11.19 -file /home/11_19_8101.crt

4.验证jdk证书是否生效

         验证http请求的java

import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;/*** @description http request test* javac HttpTest.java* java HttpTest url param* @date 2024/08/21*/
public class HttpTest {public static void main(String[] args) {try {URL url = new URL(args[0]);HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("POST");connection.setRequestProperty("Content-Type", "application/json");connection.setDoOutput(true);try (OutputStream os = connection.getOutputStream();InputStream is = connection.getInputStream()) {os.write(args[1].getBytes());System.out.println(new String(is.readAllBytes()));}int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {System.out.println("http request success");}} catch (Exception e) {e.printStackTrace();}}}

 在服务器上执行命令

javac HttpTest.java
java HttpTest https://192.168.xx.xx:6666/callback/basic {"name":"123456"}

 

参考资料:

ssl - Java: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target - Stack Overflow

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

相关文章:

  • 【ARM+Codesys 客户案例 】基于RK3568/A40i/STM32+CODESYS开发的控制器在自动输送分拣系统上的应用,支持定制
  • C++ 设计模式(1. 单例模式)
  • 算法笔记|Day31动态规划IV
  • CSS文字方向控制属性text-orientation
  • 配置typora上传图片到Chevereto图床
  • Java面试八股之如何保证消息队列中消息不重复消费
  • 0.91寸OLED迷你音频频谱
  • 机器学习--特征工程常用API
  • 块级LoRA:个性化与风格化在文本到图像生成中的新突破
  • redis的数据结构——压缩表(Ziplist)
  • 探索未知,悦享惊喜 —— 您的专属盲盒一番赏小程序盛大开启
  • dompdf导出pdf中文乱码显示问号?
  • 韩顺平Java-第二十四章:MYSQL基础篇
  • 【动态规划算法题记录】最长/最大 问题汇总 (leetcode)
  • 2020 位示图
  • 富格林:防止陷入黑幕欺诈平台
  • Cookie、Session 、token
  • Json-类型映射使用TypeFactory或者TypeReference
  • Linux shell编程学习笔记73:sed命令——沧海横流任我行(上)
  • 内网渗透之icmp隧道传输
  • 【C++ 第十五章】map 和 set 的封装(封装红黑树)
  • LIN通讯
  • zabbix常见架构及组件
  • plsql表格怎么显示中文 plsql如何导入表格数据
  • chromedriver下载地址大全(包括124.*后)以及替换exe后仍显示版本不匹配的问题
  • 拦截器实现 Mybatis Plus 打印含参数的 SQL 语句
  • Oracle Subprogram即Oracle子程序
  • 自然语言处理实战项目30-基于RoBERTa模型的高精度的评论文本分类实战,详细代码复现可直接运行
  • RK3588J正式发布Ubuntu桌面系统,丝滑又便捷!
  • 基于GPT-SoVITS的API实现批量克隆声音