mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-28 13:45:37 -04:00
Avoid crashing when decrypting fails
This commit is contained in:
parent
37e2f10cd7
commit
5806bd5a7d
11
src/index.js
11
src/index.js
@ -171,12 +171,17 @@ function createServer(options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onEncryptionKeyResponse(packet) {
|
function onEncryptionKeyResponse(packet) {
|
||||||
var verifyToken = serverKey.decrypt(packet.verifyToken, undefined, undefined, ursa.RSA_PKCS1_PADDING);
|
try {
|
||||||
if (!bufferEqual(client.verifyToken, verifyToken)) {
|
var verifyToken = serverKey.decrypt(packet.verifyToken, undefined, undefined, ursa.RSA_PKCS1_PADDING);
|
||||||
|
if (!bufferEqual(client.verifyToken, verifyToken)) {
|
||||||
|
client.end('DidNotEncryptVerifyTokenProperly');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var sharedSecret = serverKey.decrypt(packet.sharedSecret, undefined, undefined, ursa.RSA_PKCS1_PADDING);
|
||||||
|
} catch (e) {
|
||||||
client.end('DidNotEncryptVerifyTokenProperly');
|
client.end('DidNotEncryptVerifyTokenProperly');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var sharedSecret = serverKey.decrypt(packet.sharedSecret, undefined, undefined, ursa.RSA_PKCS1_PADDING);
|
|
||||||
client.cipher = crypto.createCipheriv('aes-128-cfb8', sharedSecret, sharedSecret);
|
client.cipher = crypto.createCipheriv('aes-128-cfb8', sharedSecret, sharedSecret);
|
||||||
client.decipher = crypto.createDecipheriv('aes-128-cfb8', sharedSecret, sharedSecret);
|
client.decipher = crypto.createDecipheriv('aes-128-cfb8', sharedSecret, sharedSecret);
|
||||||
hash.update(sharedSecret);
|
hash.update(sharedSecret);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user