jdk如何导入ssl证书(信任自签https证书)

 更新时间:2026年06月05日 11:15:39   作者:954L  
这段文章详细描述了如何解决SSL证书认证不通过的问题,通过导出证书并使用keytool命令将其添加至JDK信任证书列表,从而成功解决不安全提示并完成接口调用

前言

工作对接EMS,给的测试地址是https。

调接口的时候发现ssl证书认证不通过,就猜测是自签的证书了

1. 导出ssl证书

浏览器输入https链接,打开后提示证书不安全。

再打开地址栏左侧不安全按钮后点击证书无效

2. 添加至jdk信任证书

关键命令

bin/keytool -import -v -trustcacerts -alias ems-test -file /ems-test.cer -storepass changeit -keystore "lib/security/cacerts"

详细步骤

[root@jszwjs56ji /]# whereis java
java: /data/jdk1.8.0_201/bin/java /data/jdk1.8.0_201/jre/bin/java
[root@jszwjs56ji /]# cd /data/jdk1.8.0_201/jre/
[root@jszwjs56ji jre]# bin/keytool -import -v -trustcacerts -alias ems-test -file /ems-test.cer -storepass changeit -keystore "lib/security/cacerts"
Owner: CN=SafeLine Fallback Certificate
Issuer: CN=SafeLine Fallback Certificate
Serial number: 2d2f1cc3f9af24307146cf84d09100b5
Valid from: Mon Sep 13 22:37:48 CST 2021 until: Thu Sep 11 22:37:48 CST 2031
Certificate fingerprints:
         MD5:  0C:92:DA:1C:7D:9E:82:91:6B:5D:5D:72:22:2E:09:76
         SHA1: 5C:0E:D7:25:64:DA:29:4B:8E:A3:69:A2:FA:4C:EE:3E:AF:CB:DB:36
         SHA256: 93:D2:E7:8D:5B:83:C2:FF:D4:DD:7F:F1:6F:D0:06:CE:69:A4:EC:77:B7:02:88:59:CE:47:E8:86:07:F8:40:A0
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3

Extensions:

#1: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
  CA:false
  PathLen: undefined
]

#2: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  serverAuth
  clientAuth
]

#3: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
  DigitalSignature
  Key_Encipherment
]

Trust this certificate? [no]:  y
Certificate was added to keystore
[Storing lib/security/cacerts]

含义解释

  • keytool:jre自带工具
  • ems-test:自定义证书别名
  • /ems-test.cer:证书路径,我这里传到根路径了
  • changeit:默认密码
  • cacerts:将证书内容导入到此文件中

3. 其他操作

查看证书列表

bin/keytool -list -keystore "lib/security/cacerts" -storepass changeit

删除指定证书

输入默认密码:changeit

bin/keytool -delete -alias ems-test -keystore cacerts

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java编程之AC自动机工作原理与实现代码

    java编程之AC自动机工作原理与实现代码

    这篇文章主要介绍了java编程之AC自动机的有关内容,涉及其应用场景,运行原理,运行过程,构造方法及Java中的实现代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 打卡每日10道面试题——JVM篇

    打卡每日10道面试题——JVM篇

    总结了JVM一些经典面试题,分享出我自己的解题思路,希望对大家有帮助,有哪里你觉得不正确的话,欢迎指出,后续有空会更新,希望大家能够喜欢
    2021-06-06
  • 一文解读Spring Bean的生命周期

    一文解读Spring Bean的生命周期

    这篇文章主要给大家详细解读Spring Bean的生命周期,文中有详细的代码示例,对我们学习Spring Bean的生命周期有一定的帮助,感兴趣的同学跟着小编一起来学习吧
    2023-07-07
  • java创建一个类实现读取一个文件中的每一行显示出来

    java创建一个类实现读取一个文件中的每一行显示出来

    下面小编就为大家带来一篇java创建一个类实现读取一个文件中的每一行显示出来的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • SpringBoot中优化if-else语句的七种方法

    SpringBoot中优化if-else语句的七种方法

    if-else语句是控制流程的基本工具,但过度使用会使代码变得复杂且难以维护,在SpringBoot , SpringCloud项目中,优化if-else结构变得尤为重要,本文将深入探讨七种策略,旨在减少SpringBoot , SpringCloud项目中 if-else的使用,需要的朋友可以参考下
    2024-07-07
  • Spring解决循环依赖的方法及三级缓存机制实践案例

    Spring解决循环依赖的方法及三级缓存机制实践案例

    Spring通过三级缓存解决单例Bean循环依赖,但无法处理构造器、prototype作用域及@Async场景,建议使用setter注入、@Lazy注解和架构优化,遵循设计原则避免依赖问题,本文介绍Spring如何解决循环依赖:深入理解三级缓存机制,感兴趣的朋友一起看看吧
    2025-09-09
  • Java使用Apache POI库读取Excel表格文档的示例

    Java使用Apache POI库读取Excel表格文档的示例

    POI库是Apache提供的用于在Windows下读写各类微软Office文档的Java库,这里我们就来看一下Java使用Apache POI库读取Excel表格文档的示例:
    2016-06-06
  • 基于Spark实现随机森林代码

    基于Spark实现随机森林代码

    这篇文章主要为大家详细介绍了基于Spark实现随机森林代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Maven Assembly实战教程

    Maven Assembly实战教程

    MavenAssembly插件用于创建可分发包,如JAR、ZIP或TAR文件,通过配置pom.xml,可以生成包含所有依赖的JAR文件或自定义格式的归档文件,示例展示了如何使用默认描述符和自定义描述符创建JAR包,以及在多模块项目中使用Assembly插件
    2024-12-12
  • Spring Get请求与post请求的实现

    Spring Get请求与post请求的实现

    在Spring中,GET请求和POST请求是两种常见的HTTP请求方法,用于与服务器进行交互,本文详细的介绍一下Spring Get请求与post请求的实现,感兴趣的可以了解一下
    2023-10-10

最新评论