games647 / FastLogin

Checks if a minecraft player has a valid paid account. If so, they can skip offline authentication automatically. (premium auto login)
https://www.spigotmc.org/resources/fastlogin.14153
MIT License
498 stars 121 forks source link

Error authenticating tppzwn with minecraft.net io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure #1225

Closed Chaostarts closed 2 months ago

Chaostarts commented 3 months ago

What happened?

Premium Player can't join to the server I use Waterfall1.21 zulu21 I try to use proxt too

Steps to reproduce

No response

Plugin list

No response

Configuration file

https://hastebin.com/share/owopecilir.yaml

Server log

[14:56:25 INFO] [FastLogin]: Requesting premium login for registered player: tppzwn [14:56:26 ERROR]: Error authenticating tppzwn with minecraft.net io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:500) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at java.lang.Thread.run(Thread.java:1583) [?:?] Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at sun.security.ssl.Alert.createSSLException(Alert.java:130) ~[?:?] at sun.security.ssl.Alert.createSSLException(Alert.java:117) ~[?:?] at sun.security.ssl.TransportContext.fatal(TransportContext.java:365) ~[?:?] at sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:287) ~[?:?] at sun.security.ssl.TransportContext.dispatch(TransportContext.java:204) ~[?:?] at sun.security.ssl.SSLTransport.decode(SSLTransport.java:172) ~[?:?] at sun.security.ssl.SSLEngineImpl.decode(SSLEngineImpl.java:736) ~[?:?] at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:691) ~[?:?] at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:506) ~[?:?] at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:482) ~[?:?] at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:679) ~[?:?] at io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:310) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1445) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1338) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1387) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469) ~[waterfall-1.21-579.jar:git:Waterfall-Bootstrap:1.21-R0.1-SNAPSHOT:de8345a:579] ... 20 more

Plugin version

1322

Platform

BungeeCord

Relevance

games647 commented 3 months ago

Please check your Java installation. The SSL verification of Mojang failed. This would also happen without FastLogin.

Chaostarts commented 3 months ago

Is there any problem with my Java installation? Are there any solutions?

TianKong-y commented 3 months ago

Please check your Java installation. The SSL verification of Mojang failed. This would also happen without FastLogin.

Well this issue just happend since this Saturday and everything was working fine before that. I don't think it's because of the Java installation.

games647 commented 3 months ago

Or it's an issue with Mojang services.

However, I cannot change it really or it is caused by FastLogin, because the proxy module (BungeeCord or Velocity) uses the original platform implementation for online mode verification. For FastLogin it's only a toggle switch. The verification process after it follows the same code like vanilla.

games647 commented 3 months ago

It's not exactly clear from the error what process failed here, but it's part of the SSL certificate. Usually it's that the client doesn't trust the certificate from Mojang. This could be an invalid trust chain (that was my assumption here), incompatible certificate algorithm, version. Nevertheless, it could also be server issues like certificate for the wrong domain.

games647 commented 2 months ago

If you still get this error. You could try switch the Java installation or the server implementation (BungeeCord). You could try other tools to test the certificate like maybe try to use curl.

curl api.mojang.com curl sessionserver.mojang.com

However my options are limited here, because as said the code is the same as vanilla BungeeCord from `FastLogins´ end.