Proper Kerberos usage

This commit is contained in:
Jonathan Barrow 2022-08-28 00:21:37 -04:00
parent e44ae9c700
commit ee189308c8
2 changed files with 5 additions and 1 deletions

View File

@ -15,8 +15,10 @@ func connect(packet *nex.PacketV0) {
ticketData, _ := stream.ReadBuffer()
requestData, _ := stream.ReadBuffer()
serverKey := nex.DeriveKerberosKey(2, []byte(nexServer.KerberosPassword()))
// TODO: use random key from auth server
ticketDataEncryption := nex.NewKerberosEncryption([]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})
ticketDataEncryption := nex.NewKerberosEncryption(serverKey)
decryptedTicketData := ticketDataEncryption.Decrypt(ticketData)
ticketDataStream := nex.NewStreamIn(decryptedTicketData, nexServer)

View File

@ -2,6 +2,7 @@ package main
import (
"fmt"
"os"
"time"
nex "github.com/PretendoNetwork/nex-go"
@ -16,6 +17,7 @@ func main() {
nexServer.SetFragmentSize(900)
nexServer.SetPrudpVersion(0)
nexServer.SetKerberosKeySize(16)
nexServer.SetKerberosPassword(os.Getenv("KERBEROS_PASSWORD"))
nexServer.SetPingTimeout(20) // Maybe too long?
nexServer.SetAccessKey("ridfebb9")