使用jks文件访问https服务的java过程

Moh*_*sin 3 java jks

  1. 使用JKS文件调用远程Web服务的Java代码.
  2. 如何使用证书访问授权服务.并添加请定义java密钥库.我是非常新的这些过程.我在尝试与此相关时遇到以下错误

    cause javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: 
    PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
    
    Run Code Online (Sandbox Code Playgroud)

我在最后一个月挣扎.请任何人做必要的.原谅我语法错误.

Jun*_*san 5

首先,您需要从您尝试连接的服务器获取公共证书.这可以通过多种方式完成,例如联系服务器管理员并要求它,使用openssl下载它,或者,如果是HTTP服务器,使用任何浏览器连接到它,查看页面的安全信息,以及保存证书副本.(Google应该能够准确地告诉您如何为您的特定浏览器做些什么.)

现在您已将证书保存在文件中,您需要将其添加到JVM的信任库.在$ JAVA_HOME/JRE/lib/security中/对的JDK或$ JAVA_HOME/lib/security中的JRE中,有一个名为cacerts文件,附带了Java和含有众所周知的核准当局的公证书.要导入新证书,请以有权写入cacerts的用户身份运行keytool:

keytool -import -file <the cert file> -alias <some meaningful name> -keystore <path to cacerts file>
Run Code Online (Sandbox Code Playgroud)

它很可能会要求您输入密码.java附带的默认密码是"changeit".几乎没有人改变它.完成这些相对简单的步骤后,您将安全地进行通信,并确保您正在与正确的服务器和正确的服务器通信(只要它们不会丢失其私钥).