Closed tabr closed 4 years ago
Цитирую Гравиту
Важная информация по проблеме с стартом лаунчера на Java 8u271 (релиз 20 октября 2020)
Release Notes: https://www.oracle.com/java/technologies/javase/8u271-relnotes.html
Проблема актуальна для версий 5.1.0-5.1.7 с выключенным sign.enabled а так же для обновившихся до 5.1.8 без перегенерации ключей лаунчсервера(и при этом sign.enabled false)
Текст ошибки: java.lang.SecurityException: Class pro.gravit.launcher.XXXXXXX not signed
Решение проблемы
1. Обновитесь до 5.1.8
2. Перегенерируйте ключи лаунчсервера, скопировав их в другую папку и перезапустив лаунчсервер
3. Сделайте build
Альтернативный вариант:
1. Настройте sign.enabled true любым способом
2. Сделайте build
Объяснение
В 5.1.8 была решена проблема с работой на Java 15, где отключили кривую secp256k1, использовавшуюся в 5.1.7 и ниже для генерации ключей по умолчанию. В 5.1.8 кривая secp256k1 была заменена на secp256r1, но обязательной перегенерации ключей не требовалось. В Java 8u271 это изменение перенесли для TLS,CertPath и подписи JAR
Те JAR, которые были подписаны с использованием ключа EC с кривой secp256k1 не будут работать с Java 8u271, так как будут считатся неподписанными.
При sign.enabled false сертификат генерируется на лету с использованием ключей лаунчсервера, которые в 5.1.7 и ниже генерировались с использованием secp256k1. Поэтому вам достаточно настроить sign.enabled true или перегенерировать ключи лаунчсервера
Цитирую Гравиту
Важная информация по проблеме с стартом лаунчера на Java 8u271 (релиз 20 октября 2020) Release Notes: https://www.oracle.com/java/technologies/javase/8u271-relnotes.html Проблема актуальна для версий 5.1.0-5.1.7 с выключенным sign.enabled а так же для обновившихся до 5.1.8 без перегенерации ключей лаунчсервера(и при этом sign.enabled false) Текст ошибки: java.lang.SecurityException: Class pro.gravit.launcher.XXXXXXX not signed Решение проблемы 1. Обновитесь до 5.1.8 2. Перегенерируйте ключи лаунчсервера, скопировав их в другую папку и перезапустив лаунчсервер 3. Сделайте build Альтернативный вариант: 1. Настройте sign.enabled true любым способом 2. Сделайте build Объяснение В 5.1.8 была решена проблема с работой на Java 15, где отключили кривую secp256k1, использовавшуюся в 5.1.7 и ниже для генерации ключей по умолчанию. В 5.1.8 кривая secp256k1 была заменена на secp256r1, но обязательной перегенерации ключей не требовалось. В Java 8u271 это изменение перенесли для TLS,CertPath и подписи JAR Те JAR, которые были подписаны с использованием ключа EC с кривой secp256k1 не будут работать с Java 8u271, так как будут считатся неподписанными. При sign.enabled false сертификат генерируется на лету с использованием ключей лаунчсервера, которые в 5.1.7 и ниже генерировались с использованием secp256k1. Поэтому вам достаточно настроить sign.enabled true или перегенерировать ключи лаунчсервера
1м способом проблема решена, спасибо.
На 261й(и более ранних) джаве всё работает нормально. Ставлю 271ю(последнюю на текущий момент). Клиентский лаунчер не стартует (ни exe ни jar).
java -Dlauncher.debug=true -jar Launcher.jar
GravitLauncher (fork sashok724's Launcher) Launcher v5.1.8-1 stable License for Launcher GPLv3. SourceCode: https://github.com/GravitLauncher/Launcher 2020.10.28 11:06:10 [DEBUG] Testing stacktrace 2020.10.28 11:06:10 [DEBUG] Verifying class loader 2020.10.28 11:06:10 [DEBUG] Verifying JVM architecture 2020.10.28 11:06:10 [ERROR] java.lang.SecurityException: Class pro.gravit.launcher.client.JavaRuntimeModule not signed 2020.10.28 11:06:10 [INFO] Launcher for project TacticsCraft 2020.10.28 11:06:10 [INFO] If need debug output use -Dlauncher.debug=true 2020.10.28 11:06:10 [INFO] If need stacktrace output use -Dlauncher.stacktrace=true 2020.10.28 11:06:10 [INFO] Restart Launcher with JavaAgent... 2020.10.28 11:06:10 [DEBUG] Check Java in C:\Program Files\Java 2020.10.28 11:06:10 [DEBUG] Found Java 8 in C:\Program Files\Java\jre1.8.0_271 (javafx true) 2020.10.28 11:06:10 [DEBUG] Selected Java 8 in C:\Program Files\Java\jre1.8.0_271 (javafx true) 2020.10.28 11:06:10 [DEBUG] Commandline: [C:\Program Files\Java\jre1.8.0_271\bin\java.exe, -Dlauncher.debug=true, -Dlauncher.stacktrace=false, -Dlauncher.dev=false, -Djdk.attach.allowAttachSelf, -XX:+DisableAttachMechanism, -Xmx256M, -cp, C:\Users\tabr\Desktop\mine\Launcher.jar, pro.gravit.launcher.LauncherEngine] 2020.10.28 11:06:10 [DEBUG] Testing stacktrace 2020.10.28 11:06:10 [DEBUG] Verifying class loader 2020.10.28 11:06:10 [DEBUG] Verifying JVM architecture GravitLauncher (fork sashok724's Launcher) Launcher v5.1.8-1 stable License for Launcher GPLv3. SourceCode: https://github.com/GravitLauncher/Launcher Exception in thread "main" java.lang.SecurityException: Class pro.gravit.launcher.LauncherEngine not signed at pro.gravit.launcher.LauncherEngine.checkClass(LauncherEngine.java:64) at pro.gravit.launcher.LauncherEngine.main(LauncherEngine.java:91)