原因
当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