From fef64418895c49ae51d5224c56ee793eae59211f Mon Sep 17 00:00:00 2001 From: Graham Date: Mon, 25 Jul 2022 00:18:51 +0100 Subject: [PATCH] Fix encryption of CHECK_WORLD_SUITABILITY packet It was using the private key rather than the public key. Signed-off-by: Graham --- .../protocol/login/upstream/CheckWorldSuitabilityCodec.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/protocol/src/main/kotlin/org/openrs2/protocol/login/upstream/CheckWorldSuitabilityCodec.kt b/protocol/src/main/kotlin/org/openrs2/protocol/login/upstream/CheckWorldSuitabilityCodec.kt index 26d7b365..fd9c431b 100644 --- a/protocol/src/main/kotlin/org/openrs2/protocol/login/upstream/CheckWorldSuitabilityCodec.kt +++ b/protocol/src/main/kotlin/org/openrs2/protocol/login/upstream/CheckWorldSuitabilityCodec.kt @@ -7,6 +7,7 @@ import org.openrs2.buffer.use import org.openrs2.buffer.writeString import org.openrs2.crypto.Rsa import org.openrs2.crypto.StreamCipher +import org.openrs2.crypto.publicKey import org.openrs2.crypto.rsa import org.openrs2.crypto.secureRandom import org.openrs2.protocol.VariableBytePacketCodec @@ -56,7 +57,7 @@ public class CheckWorldSuitabilityCodec @Inject constructor( plaintext.writeString(input.password) plaintext.writeInt(secureRandom.nextInt()) - plaintext.rsa(key).use { ciphertext -> + plaintext.rsa(key.publicKey).use { ciphertext -> output.writeByte(ciphertext.readableBytes()) output.writeBytes(ciphertext) }