diff --git a/transport/internet/reality/reality.go b/transport/internet/reality/reality.go index 8c77e79f..44402f31 100644 --- a/transport/internet/reality/reality.go +++ b/transport/internet/reality/reality.go @@ -140,6 +140,9 @@ func UClient(c net.Conn, config *Config, ctx context.Context, dest net.Destinati if err != nil { return nil, errors.New("REALITY: publicKey == nil") } + if uConn.HandshakeState.State13.EcdheKey == nil { + return nil, errors.New("Current fingerprint ", uConn.ClientHelloID.Client, uConn.ClientHelloID.Version, " does not support TLS 1.3, REALITY handshake cannot establish.") + } uConn.AuthKey, _ = uConn.HandshakeState.State13.EcdheKey.ECDH(publicKey) if uConn.AuthKey == nil { return nil, errors.New("REALITY: SharedKey == nil")