Open cuixiang0130 opened 2 months ago
在使用JDK 17编译时,bouncycastle 中用到的AccessController.doPrivileged 出现warning,在JDK 17 中Security Manager已被标记为废弃。
Mojang使用的迷之AES-GCM加密去掉了auth tag,直接使用JDK的GCM解密会出错,但因为GCM内部实际使用了CTR模式,在原iv后加上0,0,0,2作为CTR模式的iv即可正常加密和解密。Nukkit就是这么实现的,见https://github.com/CloudburstMC/Protocol/blob/3.0/bedrock-connection/src/main/java/org/cloudburstmc/protocol/bedrock/util/EncryptionUtils.java
在使用JDK 17编译时,bouncycastle 中用到的AccessController.doPrivileged 出现warning,在JDK 17 中Security Manager已被标记为废弃。
Mojang使用的迷之AES-GCM加密去掉了auth tag,直接使用JDK的GCM解密会出错,但因为GCM内部实际使用了CTR模式,在原iv后加上0,0,0,2作为CTR模式的iv即可正常加密和解密。Nukkit就是这么实现的,见https://github.com/CloudburstMC/Protocol/blob/3.0/bedrock-connection/src/main/java/org/cloudburstmc/protocol/bedrock/util/EncryptionUtils.java