forked from I2P_Developers/i2p.i2p
* CryptoChecker: Log tweaks, handle gij
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2014-08-31 zzz
|
||||||
|
* Build: Add support for bundling router infos in the package
|
||||||
|
* I2PTunnel: Allow changing of spoof host and target host/port without
|
||||||
|
restarting server tunnel
|
||||||
|
|
||||||
2014-08-30 zzz
|
2014-08-30 zzz
|
||||||
* Console:
|
* Console:
|
||||||
- Re-enable plugin installation by default
|
- Re-enable plugin installation by default
|
||||||
|
@@ -18,7 +18,7 @@ public class RouterVersion {
|
|||||||
/** deprecated */
|
/** deprecated */
|
||||||
public final static String ID = "Monotone";
|
public final static String ID = "Monotone";
|
||||||
public final static String VERSION = CoreVersion.VERSION;
|
public final static String VERSION = CoreVersion.VERSION;
|
||||||
public final static long BUILD = 13;
|
public final static long BUILD = 14;
|
||||||
|
|
||||||
/** for example "-test" */
|
/** for example "-test" */
|
||||||
public final static String EXTRA = "";
|
public final static String EXTRA = "";
|
||||||
|
@@ -1,7 +1,9 @@
|
|||||||
package net.i2p.router.tasks;
|
package net.i2p.router.tasks;
|
||||||
|
|
||||||
|
import java.security.GeneralSecurityException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.Cipher;
|
||||||
|
import javax.crypto.spec.SecretKeySpec;
|
||||||
|
|
||||||
import net.i2p.crypto.SigType;
|
import net.i2p.crypto.SigType;
|
||||||
import net.i2p.router.RouterContext;
|
import net.i2p.router.RouterContext;
|
||||||
@@ -16,8 +18,9 @@ import net.i2p.util.SystemVersion;
|
|||||||
public class CryptoChecker {
|
public class CryptoChecker {
|
||||||
|
|
||||||
private static String JRE6 = "http://www.oracle.com/technetwork/java/javase/downloads/index.html";
|
private static String JRE6 = "http://www.oracle.com/technetwork/java/javase/downloads/index.html";
|
||||||
private static String JRE7 = "http://www.oracle.com/technetwork/java/javase/documentation/java-se-7-doc-download-435117.html";
|
// these two are US-only and can change?
|
||||||
private static String JRE8 = "http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html";
|
//private static String JRE7 = "http://www.oracle.com/technetwork/java/javase/documentation/java-se-7-doc-download-435117.html";
|
||||||
|
//private static String JRE8 = "http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html";
|
||||||
|
|
||||||
public static void warnUnavailableCrypto(RouterContext ctx) {
|
public static void warnUnavailableCrypto(RouterContext ctx) {
|
||||||
if (SystemVersion.isAndroid())
|
if (SystemVersion.isAndroid())
|
||||||
@@ -43,11 +46,11 @@ public class CryptoChecker {
|
|||||||
}
|
}
|
||||||
if (!isUnlimited()) {
|
if (!isUnlimited()) {
|
||||||
String s = "Please consider installing the Java Cryptography Unlimited Strength Jurisdiction Policy Files from ";
|
String s = "Please consider installing the Java Cryptography Unlimited Strength Jurisdiction Policy Files from ";
|
||||||
if (SystemVersion.isJava8())
|
//if (SystemVersion.isJava8())
|
||||||
s += JRE8;
|
// s += JRE8;
|
||||||
else if (SystemVersion.isJava7())
|
//else if (SystemVersion.isJava7())
|
||||||
s += JRE7;
|
// s += JRE7;
|
||||||
else
|
//else
|
||||||
s += JRE6;
|
s += JRE6;
|
||||||
log.logAlways(log.WARN, s);
|
log.logAlways(log.WARN, s);
|
||||||
System.out.println(s);
|
System.out.println(s);
|
||||||
@@ -59,9 +62,7 @@ public class CryptoChecker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Following code adapted from Orchid
|
* Copied from CryptixAESEngine
|
||||||
* According to http://www.subgraph.com/orchid.html ,
|
|
||||||
* "Orchid is licensed under a three-clause BSD license."
|
|
||||||
*/
|
*/
|
||||||
private static boolean isUnlimited() {
|
private static boolean isUnlimited() {
|
||||||
try {
|
try {
|
||||||
@@ -70,6 +71,14 @@ public class CryptoChecker {
|
|||||||
} catch (NoSuchAlgorithmException e) {
|
} catch (NoSuchAlgorithmException e) {
|
||||||
return false;
|
return false;
|
||||||
} catch (NoSuchMethodError e) {
|
} catch (NoSuchMethodError e) {
|
||||||
|
// JamVM, gij
|
||||||
|
try {
|
||||||
|
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
|
||||||
|
SecretKeySpec key = new SecretKeySpec(new byte[32], "AES");
|
||||||
|
cipher.init(Cipher.ENCRYPT_MODE, key);
|
||||||
|
} catch (GeneralSecurityException gse) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user