英文:
Certificate Exception running maven verify command using Java 1.8
问题
我的 JUnit 测试类在使用 IDE(IntelliJ IDEA)运行时正常工作。但是,当我尝试使用 Maven 命令运行时,出现了以下异常导致失败。Maven 命令如下:
mvn clean verify -Dapp-env=dev
注意:我正在尝试以启用 TLS 的方式连接到 Kafka,而`ca-cert.pem` 已经添加到了 JDK 中(位于 JRE 内部)。
异常信息:
2020-04-03 12:18:21 [pool-1-thread-5] ERROR n.t.c.steps.ConsoleLoggingListener - PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到到请求目标的有效认证路径
2020-04-03 12:18:23 [kafka-admin-client-thread | adminclient-2] WARN o.a.k.c.a.i.AdminMetadataManager - [AdminClient clientId=adminclient-2] 元数据更新失败,因为出现认证错误
org.apache.kafka.common.errors.SslAuthenticationException: SSL 握手失败
javax.net.ssl.SSLHandshakeException: PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到到请求目标的有效认证路径
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262) ~[na:na]
<details>
<summary>英文:</summary>
My JUnit test class works fine when I run it with IDE (IntelliJ IDEA). But when I try to run it with the Maven command it fails for the below exception. The Maven command is below:
mvn clean verify -Dapp-env=dev
Note : I am trying to connect to Kafka with TLS enabled and the `ca-cert.pem` is already added to the JDK (inside JRE).
Exception:
2020-04-03 12:18:21 [pool-1-thread-5] ERROR n.t.c.steps.ConsoleLoggingListener - PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2020-04-03 12:18:23 [kafka-admin-client-thread | adminclient-2] WARN o.a.k.c.a.i.AdminMetadataManager - [AdminClient clientId=adminclient-2] Metadata update failed due to authentication error
org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262) ~[na:na]
</details>
专注分享java语言的经验与见解,让所有开发者获益!
评论