mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-08-01 12:31:23 +00:00
DRMWorkaround: Remove final modifier from JceSecurity.isRestricted().
This is needed for Oracle JDK 8 (u192).
This commit is contained in:
committed by
Andreas Schildbach
parent
23e74cee90
commit
b9c2b61712
@@ -23,6 +23,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.lang.reflect.Modifier;
|
||||||
|
|
||||||
public class DRMWorkaround {
|
public class DRMWorkaround {
|
||||||
private static Logger log = LoggerFactory.getLogger(DRMWorkaround.class);
|
private static Logger log = LoggerFactory.getLogger(DRMWorkaround.class);
|
||||||
@@ -43,6 +44,9 @@ public class DRMWorkaround {
|
|||||||
try {
|
try {
|
||||||
Field gate = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
|
Field gate = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
|
||||||
gate.setAccessible(true);
|
gate.setAccessible(true);
|
||||||
|
Field modifiersField = Field.class.getDeclaredField("modifiers");
|
||||||
|
modifiersField.setAccessible(true);
|
||||||
|
modifiersField.setInt(gate, gate.getModifiers() & ~Modifier.FINAL);
|
||||||
gate.setBoolean(null, false);
|
gate.setBoolean(null, false);
|
||||||
final Field allPerm = Class.forName("javax.crypto.CryptoAllPermission").getDeclaredField("INSTANCE");
|
final Field allPerm = Class.forName("javax.crypto.CryptoAllPermission").getDeclaredField("INSTANCE");
|
||||||
allPerm.setAccessible(true);
|
allPerm.setAccessible(true);
|
||||||
|
Reference in New Issue
Block a user