技术文章 - CS348225
安装 ThingWorx Analytics Server 后 Zookeeper 日志中的 SSL 异常
已修改: 27-Dec-2022
适用于
- ThingWorx Analytics 9.1
说明
- 日志文件/opt/ptc/ThingWorxAnalyticsServer/zookeeper/logs/zookeeper-twxanalytics-server-ip-10-1-3-11.ec2.internal.out中的错误
- 2021-06-30 19:35:29,576 [myid:] -错误[nioEventLoopGroup-4-4:NettyServerCnxnFactory$CertificateVerifier@363] - 与会话 0x0 的握手不成功
2021-06-30 19:35:29,577 [myid:] -警告[nioEventLoopGroup-4-4:NettyServerCnxnFactory$CnxnChannelHandler@220] - 异常被捕获
io.netty.handler.codec.DecoderException: javax.net.ssl。 SSLHandshakeException:扩展密钥使用不允许用于 TLS 客户端身份验证
在 io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)
在 io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
在 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
在 io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
在 io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
在 io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
在 io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
在 io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
在 io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
在 io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
在 io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
在 io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
在 io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
在 java.base/java.lang.Thread.run(Thread.java:829)
原因:javax.net.ssl.SSLHandshakeException:扩展密钥使用不允许用于 TLS 客户端身份验证
在 java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
在 java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:349)
在 java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:292)
在 java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:287)
在 java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkClientCerts(CertificateMessage.java:700)
在 java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:411)
在 java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:375)
在 java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
在 java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
在 java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1074)
在 java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1061)
在 java.base/java.security.AccessController.doPrivileged(本机方法)
在 java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1008)
在 io.netty.handler.ssl.SslHandler.runAllDelegatedTasks(SslHandler.java:1510)
在 io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1524)
在 io.netty.handler.ssl.SslHandler.unwrap (SslHandler.java:1408)
在 io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1235)
在 io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1282)
在 io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:498)
在 io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:437)
... 还有 17 个
由:sun.security.validator 引起。 ValidatorException:扩展密钥使用不允许用于 TLS 客户端身份验证
在 java.base/sun.security.validator.EndEntityChecker.checkTLSClient(EndEntityChecker.java:245)
在 java.base/sun.security.validator.EndEntityChecker.check(EndEntityChecker.java:146)
在 java.base/sun.security.validator.Validator.validate(Validator.java:277)
在 java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313)
在 java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:276)
在 java.base/sun.security.ssl.X509TrustManagerImpl.checkClientTrusted(X509TrustManagerImpl.java:135)
在 org.apache.zookeeper.common。 ZKTrustManager .checkClientTrusted(ZKTrustManager.java:88)
在 java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkClientCerts(CertificateMessage.java:682)
... 32 更多
这是文章 348225 的 PDF 版本,可能已过期。最新版本 CS348225