Java导入SSL证书参考手册
前言
Java程序进行HTTPS通信发生如下错误:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
这是因为访问的服务器的链接是https,系统涉及与第三方支付平台交易,通讯协议为HTTPS单向认证交易时报错,异常信息主要意思为服务器提供的证书不被我们客户端信任。 要解决这个问题需要将安全证书导入到java的cacerts证书库中。
本文以导入vbooking安全证书为例,讲解具体操作步骤。
下载安装证书
在打开的窗口中,
打开的窗口中,点击下一步即可,
在正式编码格式中,选择指定的格式,点击下一步;
指定生成证书文件的名称(此处为vbooking.cer)
库密钥口令
在导入、删除、查看等操作时都需要输入库密钥口令,Java默认口令是:changeit 。
将证书导入java的cacerts证书库
切换到路径:
JAVA 8的路径是:%JAVA_HOME%\jre\lib\security
例如:C:\Program Files\Java\jdk1.8.0_121\jre\lib\security
JAVA 11的路径是:%JAVA_HOME%\lib\security
例如:C:\Program Files\Java\jdk-11.0.13\lib\security
在导入之前可以先将%JAVA_HOME%\jre\lib\security\cacerts文件备份一下
输入命令导入安全证书
keytool -import -alias vbooking -keystore cacerts -file D://vbooking.cer
-alias 指定别名(推荐和证书同名)
-keystore 指定存储文件(此处固定)
-file 指定证书文件全路径(证书文件所在的目录)
注意:当切换到 cacerts 文件所在的目录时,才可指定 -keystore cacerts, 否则应该指定全路径;
全路径命令:
%JAVA_HOME%\bin\keytool.exe -import -alias vbooking -keystore %JAVA_HOME%\jre\lib\security\cacerts -file D://vbooking.cer
查看已经导入的安全证书
keytool -list -keystore cacerts
删除原证书,导入新证书
删除原证书
keytool -delete -alias vbooking -keystore cacerts
导入新证书
keytool -import -alias vbooking -keystore cacerts -file D://vbooking.cer -trustcacerts
查看某一个证书 (vbooking)
keytool -list -keystore cacerts -alias vbooking
鸣谢
参考文章:
https://blog.csdn.net/wangjunjun2008/article/details/37662851
https://blog.csdn.net/weixin_35691921/article/details/102913065
Java导入SSL证书参考手册相关推荐
- 群晖导入SSL证书HTTPS访问
一.申请证书 现在免费的SSL证书服务有很多,由于我的域名是阿里云,所以用的是阿里的免费SSL证书. 阿里云SSL证书申请:https://yundun.console.aliyun.com/ 申请证 ...
- java 忽略SSL证书
** java 忽略SSL证书 ** 代码如下:(网上借鉴了很多大神的写法,都不能实现,最终使用以下代码亲测可行,侵联删) ```java import org.apache.http.Header; ...
- JAVA通过SSL证书创建MS AD账户及设置密码
近期由于工作需要整理一下自动化的东西,因为公司去年上线了OA,所以公司的入职系统会提交用户的信息到IT部门,最早的做法是入职到了,IT部门收集用户信息在AD中创建对应的用户信息,所以为了提高管理员的工 ...
- android导入ssl证书,Android和SSL证书加载
我正在为Android 2.2 SDK的应用程序,并从通过Java Socket技术应用到另一个(不同的移动设备即是)的一个实例,通过wifi我目前正在发送数据,并能正常工作.我想添加一些加密,所以数 ...
- jdk导入ssl证书(信任自签https证书)
前言 工作对接EMS,给的测试地址是https. 调接口的时候发现ssl证书认证不通过,就猜测是自签的证书了 1. 导出ssl证书 浏览器输入https链接,打开后提示证书不安全. 再打开地址栏左侧不 ...
- java导入cer证书_java导入cer证书
在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下: 每一步:进入某个https://www.xxx.com开头的网站,把要 ...
- Java管理SSL证书
SSL证书结构 根证书的生成分为三个部分: 生成根证书的公钥和私钥 构建证书的原始证书,包括公钥.加密算法.生效时间.过期时间等信息. 用根证书私钥对原始证书进行签名,生成合法的根证书. 根证书安装, ...
- Java生成SSL证书
1. 背景 2. 演示环境 3. 命令 4. 创建证书 5. 查看证书 5.1. 显示详细 5.2. 编码打印 6. 导入导出证书 6.1. 导出 6.2. 导入 7. 修改密码 7.1. 修改密钥库 ...
- java生成ssl证书和部署
自签名SSL证书的生成 自签证书虽然提示:不安全.但还是有很多的好处,所以下面先说说自签证书的生成,主要使用Java JDK下的:keytool.exe 2:安装完后,根据实际的路径找到keytool ...
- Confluence 6 导入 SSL 证书和问题解决
有关这些命令的更多信息,请参考 Keytool documentation. 添加根证书(root certificate)到你默认的 Java keystore,可以使用下面的命令行.这个证书被用来 ...
最新文章
- 如何用视觉的方法量身高?
- 【复杂网络】图模型在欺诈检测应用一点看法
- java 反射 成员变量_java使用反射访问成员变量的值示例
- 什么是量子计算-超级简单的给你个解释
- bzoj4245: [ONTAK2015]OR-XOR
- python安全攻防---信息收集---whois查询
- matplotlib画图设置线条透明度
- Spring Data JPA 从入门到精通~Specification工作中的一些扩展
- 《趣学JavaScript——教孩子学编程》——1.5 本章小结
- python微控制器编程从零开始下载_Python微控制器编程从零开始(使用MicroPython)...
- 实验3-1 求一元二次方程的根 (20 分)
- oracle 没有rlwap,[20140723]安装使用anysql.txt
- Verilog 教程
- 实践项目:图书馆管理系统
- 蜂鸣器驱动电路的改进设计
- 产品设计-产品框架设计
- 微信小程序开通流量主,流量主收入却是个坑
- 实现自己的日志打印系统
- 景安服务器不稳定,服务器常见问题二
- 直播APP开发:熊猫直播求续命,直播的多种玩法
热门文章
- 贝塞尔曲线和B样条曲线
- layui之 数据表格动态cols(字段)动态变化,实现自定义表头
- 为什么新网站上线一个月都没有收录?
- 十万个seo_2020年将抛弃10个SEO神话
- 【机器人学】机器人开源项目KDL源码学习:(10)KDL中的OOP思想---继承
- MoveIt! 学习笔记13 - KDL/IKFAST/TRAC-IK运动学求解器区别
- 【福利】百度云2018最新限速破解软件
- 多目标优化系列(七)SPEA2
- 如何检查你的MAC是不是原封正品
- python 下载图片 写硬盘 慢_天啦噜!知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍...