Skip to content

Commit

Permalink
DRMWorkaround: Remove final modifier from JceSecurity.isRestricted().
Browse files Browse the repository at this point in the history
This is needed for Oracle JDK 8 (u192).
  • Loading branch information
oscarguindzberg authored and Andreas Schildbach committed Jan 2, 2019
1 parent 23e74ce commit b9c2b61
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions core/src/main/java/org/bitcoinj/crypto/DRMWorkaround.java
Expand Up @@ -23,6 +23,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class DRMWorkaround {
private static Logger log = LoggerFactory.getLogger(DRMWorkaround.class);
Expand All @@ -43,6 +44,9 @@ public static void maybeDisableExportControls() {
try {
Field gate = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
gate.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(gate, gate.getModifiers() & ~Modifier.FINAL);
gate.setBoolean(null, false);
final Field allPerm = Class.forName("javax.crypto.CryptoAllPermission").getDeclaredField("INSTANCE");
allPerm.setAccessible(true);
Expand Down

0 comments on commit b9c2b61

Please sign in to comment.