Update transport/internet/reality/reality.go

Fixes https://github.com/XTLS/Xray-core/issues/2491
This commit is contained in:
RPRX 2023-08-26 07:45:24 +00:00 committed by yuhan6665
parent e02474ae15
commit 2d5475f428

View File

@ -5,6 +5,7 @@ import (
"context" "context"
"crypto/aes" "crypto/aes"
"crypto/cipher" "crypto/cipher"
"crypto/ecdh"
"crypto/ed25519" "crypto/ed25519"
"crypto/hmac" "crypto/hmac"
"crypto/rand" "crypto/rand"
@ -134,7 +135,8 @@ func UClient(c net.Conn, config *Config, ctx context.Context, dest net.Destinati
if config.Show { if config.Show {
fmt.Printf("REALITY localAddr: %v\thello.SessionId[:16]: %v\n", localAddr, hello.SessionId[:16]) fmt.Printf("REALITY localAddr: %v\thello.SessionId[:16]: %v\n", localAddr, hello.SessionId[:16])
} }
uConn.AuthKey = uConn.HandshakeState.State13.EcdheParams.SharedKey(config.PublicKey) publicKey, _ := ecdh.X25519().NewPublicKey(config.PublicKey)
uConn.AuthKey, _ = uConn.HandshakeState.State13.EcdheKey.ECDH(publicKey)
if uConn.AuthKey == nil { if uConn.AuthKey == nil {
return nil, errors.New("REALITY: SharedKey == nil") return nil, errors.New("REALITY: SharedKey == nil")
} }