diff --git a/TcpDotNet/Protocol/PacketHandlers/EncryptionResponsePacketHandler.cs b/TcpDotNet/Protocol/PacketHandlers/EncryptionResponsePacketHandler.cs index b80c1fe..c79914a 100644 --- a/TcpDotNet/Protocol/PacketHandlers/EncryptionResponsePacketHandler.cs +++ b/TcpDotNet/Protocol/PacketHandlers/EncryptionResponsePacketHandler.cs @@ -32,10 +32,9 @@ internal sealed class EncryptionResponsePacketHandler : PacketHandler(encryptionResponse, cancellationToken); + byte[] aesKey = rsa.Encrypt(key, true); + var encryptionResponse = new EncryptionResponsePacket(encryptedPayload, aesKey); + await SendPacketAsync(encryptionResponse, cancellationToken); + + UseEncryption = true; + var sessionPacket = await WaitForPacketAsync(cancellationToken); SessionId = sessionPacket.Session; - UseEncryption = true; State = ClientState.Connected; }