首页 > 其他分享 >jdk导入安全证书

jdk导入安全证书

时间:2023-10-24 14:57:49浏览次数:34  
标签:jre keytool lib jdk 证书 cacerts 导入 security

jdk导入安全证书

 

SSLHandshakeException

Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
    at sun.security.validator.Validator.validate(Validator.java:260)
    at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1428)
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
    at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)

 

解决方案

获取证书

  1. 点击“证书(有效)”,即显示证书的相关信息。
  2. 点击“详细信息”,点击“导出”。
  3. 选择证书保存路径与文件名称,选择“Base64 编码ASCII,单一证书”的格式导出证书,然后点击“保存”,即可完成证书下载流程。

证书导入JDK的步骤

解释说明:

  1. spdbuat是自己可以修改的名称,spdbuat.cer是导出的证书,同样,这里的证书名字也是可以任意取的,但前提是保证将JDK下的指定目录(以自己实际情况为准)C:\Program Files\Java\jdk.1.8.0_212\jre\lib\security目录的cacerts文件之前没有导入同名证书,就是要保证你将要导入证书名称的唯一性。
  2. changeit是密码,Java默认的。
  3. keytool是jdk中bin目录的一个可执行文件,jdk默认自带的,示例机器中的路径是C:\Program Files\Java\jdk.1.8.0_212\jre\bin\keytool.exe。
  4. %JAVA_HOME%/jre/lib/securty/cacerts路径中,%JAVA_HOME%/jre/lib/security/是目录,cacerts是文件(即要把证书导入到其中),提前请确保您已经正确配置过JAVA_HOME环境变量。
  5. 如果提示:“是否信任此证书?[否]”,请输入y并回车。当出现:“证书已添加到秘钥库中[正在存储cacerts]”的时候,表示您已经导入成功。

注意:

  1. 如果提示找不到指定文件,那么有可能是路径错了,这里是先执行cd C:\Program Files\Java\jdk.1.8.0_212\jre\bin\ (路径以实际为准),来到keytool.exe所在的目录执行以上命令。后续更新时,先删除原来的证书,然后导入新的证书。
Windows命令行执行
keytool -import -v -trustcacerts -alias spdbuat -file domain.cer -storepass changeit -keystore %JAVA_HOME%/jre/lib/security/cacertsLinux 执行

 

Linux 执行
keytool -import -v -trustcacerts -alias spdbuat -file domain.cer  -storepass changeit -keystore /usr/local/openjdk-8/jre/lib/security/cacerts

 

keytool 常用命令

//查看cacerts中的证书列表
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

//删除cacerts中指定名称的证书
keytool -delete -alias domain -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
//导入指定证书到cacerts keytool -import -alias spdbuat -file domain.cer -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit -trustcacerts

 

 

 

 

 

 

解决方案
  获取证书
1点击“证书(有效)”,即显示证书的相关信息。
2点击“详细信息”,点击“导出”。
3选择证书保存路径与文件名称,选择“Base64 编码ASCII,单一证书”的格式导出证书,然后点击“保存”,即可完成证书下载流程。
  证书导入JDK的步骤
  解释说明:
1spdbuat是自己可以修改的名称,spdbuat.cer是导出的证书,同样,这里的证书名字也是可以任意取的,但前提是保证将JDK下的指定目录(以自己实际情况为准)C:\Program Files\Java\jdk.1.8.0_212\jre\lib\security目录的cacerts文件之前没有导入同名证书,就是要保证你将要导入证书名称的唯一性。
2changeit是密码,Java默认的。
3keytool是jdk中bin目录的一个可执行文件,jdk默认自带的,示例机器中的路径是C:\Program Files\Java\jdk.1.8.0_212\jre\bin\keytool.exe。
4%JAVA_HOME%/jre/lib/securty/cacerts路径中,%JAVA_HOME%/jre/lib/security/是目录,cacerts是文件(即要把证书导入到其中),提前请确保您已经正确配置过JAVA_HOME环境变量。
5如果提示:“是否信任此证书?[否]”,请输入y并回车。当出现:“证书已添加到秘钥库中[正在存储cacerts]”的时候,表示您已经导入成功。
  注意:
1如果提示找不到指定文件,那么有可能是路径错了,这里是先执行cd C:\Program Files\Java\jdk.1.8.0_212\jre\bin\ (路径以实际为准),来到keytool.exe所在的目录执行以上命令。后续更新时,先删除原来的证书,然后导入新的证书。
  Windows命令行执行
  Shell     复制代码     1   keytool -import -v -trustcacerts -alias spdbuat -file spdbuat.cer -storepass changeit -keystore %JAVA_HOME%/jre/lib/security/cacerts       Linux 执行
  Shell     复制代码     1   keytool -import -v -trustcacerts -alias spdbuat -file spdbuat.cer -storepass changeit -keystore /usr/local/openjdk-8/jre/lib/security/cacerts       keytool 常用命令
  Shell     复制代码     1 2 3 4 5 6 7 8   //查看cacerts中的证书列表 keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit   //删除cacerts中指定名称的证书 keytool -delete -alias spdbuat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit   //导入指定证书到cacerts keytool -import -alias spdbuat -file spdbuat.cer -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit -trustcacerts     错误提示:非法选项: Files\Java\jdk1.8.0_201\jre\lib\security\cacerts,可以尝试在keystore参数路径中加上双引号。
  Shell     复制代码     1   keytool -import -v -trustcacerts -alias spdbuat -file spdbuat.cer -storepass changeit -keystore "%JAVA_HOME%/jre/lib/security/cacerts"

标签:jre,keytool,lib,jdk,证书,cacerts,导入,security
From: https://www.cnblogs.com/weiweirui/p/17784778.html

相关文章

  • python模块导入规则(相对导入和绝对导入)
    python模块可以相对导入和绝对导入,但这两者是不能替换使用的。本文主要讨论工作目录下模块之间的导入规则。其中相对导入前面有一个'.',表示从该脚本所在目录开始索引,而绝对导入前面没有'.',表示从根目录开始索引。首先明确一点,python认为的根目录为当前运行的脚本所在的目录,而......
  • 宝塔:续签SSL证书报错string indices must be integers
    网站SSL证书过期,续签的时候,报错stringindicesmustbeintegers。  处理方法:1.点击左侧首页,选择“修复”; 2.修复之后,重新点击网站,设置>>>SSL>>>续签证书,等待流程通过,点击保存即可。 ......
  • 导入模块、打开工程
    导入:一、先把要导入的模块复制过去,然后再导入黑点。比如把E盘文件复制到D盘,然后复制D盘路径再从idea导入 二、或者直接建一个新模块,然后直接复制进去  打开工程   ......
  • iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
    ​  摘要:本文将以iOS技术博主身份,分享解决使用无密码的.p12文件发布应用时遇到的问题,并介绍如何以带密码的方式重新导出.p12文件的方法。通过本文提供的步骤,开发者可以顺利完成证书的发布流程。引言在iOS应用发布过程中,有时候会遇到使用无密码的.p12文件的情况。然而,在一......
  • 延迟导入Python模块的几种方法
    延迟导入Python模块的几种方法-知乎(zhihu.com)#__init__.pyimportimportlib__all__=['complicated']def__getattr__(name):ifnamein__all__:returnimportlib.import_module("."+name,__name__)else:raiseAttributeError(f&qu......
  • zookeeper源码(02)源码编译启动及idea导入
    本文介绍一下zookeeper-3.9.0源码下载、编译及本地启动。下载源码gitclonehttps://gitee.com/apache/zookeeper.gitcdzookeepergitcheckoutrelease-3.9.0gitcheckout-brelease-3.9.0源码编译README_packaging.md文件该文件介绍了编译zookeeper需要的环境和命令......
  • 如何查看SSL证书是OV还是DV?
    网站的安全性与信任度对于用户来说至关重要,它决定着用户是否继续浏览以及是否与您开展业务。SSL证书则是确保网站能够通过HTTPS加密安全传输数据的基础,可确保网站的安全可信。部署了SSL证书的网站打开后,在浏览器地址栏处会有安全锁标志。而常见的SSL证书类型有OV、DV,那么,应该如何查......
  • mysql导入.cvs
    workbench新建1张表,没有import按钮,原因是没有设置主键将一个字段设置为主键后,即可导入数据将要导入的数据文件改为utf-8的格式,使用记事本打开查看选择文件选择数据库表查看字段与数据是否对应开始导入......
  • Django配置静态文件方法(static)——导入jQuery和bootstrap
    1、首先在文件夹下创建static文件夹,并将导入文件下载并放入如图: 2、进入settings.py文件夹书写静态文件配置代码:#静态文件配置STATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),] 3、进入前端页面书写如下代码载入:{%loadstatic%}<linkrel="sty......
  • Windows环境配置JDK
    下载JDK包下载地址https://pan.baidu.com/s/1jZOp7vmDD89JJyFLHYWIdQ?pwd=uce3我是默认安装。安装后,命令行可以执行java-version查询到版本,但是执行javac、javadoc会提示命令不存在。需要再配置环境变量打开我的电脑,点击系统属性配置选择高级系统设置配置环境变量系统......