解决unable to find valid certification path to requested target

1,959 阅读1分钟

原因

当Java客户端请求实现https协议的服务时,出现异常:’unable to find valid certification path to requested target’,这是因为自签名证书不被Java信任导致SSL握手失败,需要把自签名服务端证书导入到Java 证书信任库keystore中。

解决方法

将服务端证书添加到Java证书信任库中

keytool -import -alias casserver -keystore $JAVA_HOME/lib/security/cacerts -file server.crt -storepass changeit -noprompt
  • alias,证书别名,可以任意,不重复。
  • file,需要导入服务端证书
  • keystore,Java 证书库地址,不同系统和JDK环境可能不同,默认是 $JAVA_HOME/jre/lib/security/cacerts
  • storepass,Java 证书库密码,默认密码为 changeit