Взял лаунчер из этого репозитория: Launcher Minecraft
Пытаюсь запустить его и получаю исключение.
Exception in thread "main" java.lang.SecurityException: Invalid certificates
at launcher.helper.SecurityHelper.verifyCertificates(SecurityHelper.java:376)
at launcher.Launcher.main(Launcher.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
SecurityHelper.java:376
@LauncherAPI
public static void verifyCertificates(Class<?> clazz) {
if (!isValidCertificates(clazz)) {
throw new SecurityException("Invalid certificates");
}
}
Launcher.java:243
public static void main(String... args) throws Throwable {
JVMHelper.verifySystemProperties(Launcher.class);
SecurityHelper.verifyCertificates(Launcher.class);
LogHelper.printVersion("Launcher");
// Start Launcher
Instant start = Instant.now();
try {
new Launcher().start(args);
} catch (Exception e) {
LogHelper.error(e);
return;
}
Instant end = Instant.now();
LogHelper.debug("Launcher started in %dms", Duration.between(start, end).toMillis());
}
Подписываю jar таким путем.
jarsigner -keystore "C:\Launcher\.keystore" -storepass "mypass" -sigfile LAUNCHER "C:\Launcher\Launcher.jar" "myalias"
Здесь проверяется на сертификацию.
@LauncherAPI
public static boolean isValidCertificates(Class<?> clazz) {
// Verify META-INF/MANIFEST.MF certificate
Resource metaInf = JVMHelper.UCP.getResource(JarFile.MANIFEST_NAME);
if (metaInf == null || !isValidCertificates(metaInf.getCertificates())) {
return false;
}
// Verify class certificate
CodeSource source = clazz.getProtectionDomain().getCodeSource();
return source != null && isValidCertificates(source.getCertificates());
}
UPD:
Оказывается LAUNCHER.DSA и LAUNCHER.SF не записываются в jar. Хоть я и подписываю jar при билде.
Если просто сделать билд без запуска и изучить Launcher.jar, то видно, что LAUNCHER.DSA и LAUNCHER.SF присутствуют. Возникает вопрос: почему при сборке LAUNCHER.DSA и LAUNCHER.SF не попадают в Launcher.jar?
Имеется активити, в которой в onCreate вызываю фрагмент видео плеераВо фрагменте есть методы:
Добрый день, начал осваивать libGDX, столкнулся с проблемой, Desktop проект не находит asset, проверил на андроид устройстве все работает нормально