javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed
时间: 2023-11-21 18:56:29 浏览: 116
`javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed` 表示SSL握手失败,其中 `PKIX path validation failed` 表示证书验证失败。这通常是由于证书不受信任或证书链不完整导致的。可以通过以下步骤解决此问题:
1. 确认证书是否受信任。可以使用以下命令检查证书是否受信任:
```shell
keytool -list -v -keystore <keystore_file>
```
其中 `<keystore_file>` 是证书存储文件的路径。如果证书不受信任,则需要将其添加到受信任证书列表中。
2. 确认证书链是否完整。可以使用以下命令检查证书链是否完整:
```shell
keytool -printcert -sslserver <hostname>:<port>
```
其中 `<hostname>` 是主机名,`<port>` 是端口号。如果证书链不完整,则需要将缺失的证书添加到证书链中。
3. 如果证书是自签名的,则需要将其导入到受信任证书列表中。可以使用以下命令将证书导入到受信任证书列表中:
```shell
keytool -import -alias <alias> -file <certificate_file> -keystore <keystore_file>
```
其中 `<alias>` 是证书别名,`<certificate_file>` 是证书文件的路径,`<keystore_file>` 是证书存储文件的路径。
阅读全文