本文整理汇总了Java中com.subgraph.orchid.Tor.isAndroidRuntime方法的典型用法代码示例。如果您正苦于以下问题:Java Tor.isAndroidRuntime方法的具体用法?Java Tor.isAndroidRuntime怎么用?Java Tor.isAndroidRuntime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.subgraph.orchid.Tor
的用法示例。
在下文中一共展示了Tor.isAndroidRuntime方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createSocketInstance
import com.subgraph.orchid.Tor; //导入方法依赖的package包/类
private Socket createSocketInstance() throws SocketException {
final OrchidSocketImpl impl = new OrchidSocketImpl(torClient);
if(Tor.isAndroidRuntime()) {
return new AndroidSocket(impl);
} else {
// call protected constructor
return new Socket(impl) {};
}
}
示例2: createSSLSocketFactory
import com.subgraph.orchid.Tor; //导入方法依赖的package包/类
private SSLSocketFactory createSSLSocketFactory() {
if(Tor.isAndroidRuntime()) {
return createAndroidSSLSocketFactory();
}
if(sslContext == null) {
return (SSLSocketFactory) SSLSocketFactory.getDefault();
} else {
return sslContext.getSocketFactory();
}
}
示例3: maybeDisableExportControls
import com.subgraph.orchid.Tor; //导入方法依赖的package包/类
private static void maybeDisableExportControls() {
// This sorry story is documented in https://bugs.openjdk.java.net/browse/JDK-7024850
// Oracle received permission to ship AES-256 by default in 2011, but didn't get around to it for Java 8
// even though that shipped in 2014! That's dumb. So we disable the ridiculous US government mandated DRM
// for AES-256 here, as Tor requires it.
if (Tor.isAndroidRuntime())
return;
try {
Field gate = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
gate.setAccessible(true);
gate.setBoolean(null, false);
final Field allPerm = Class.forName("javax.crypto.CryptoAllPermission").getDeclaredField("INSTANCE");
allPerm.setAccessible(true);
Object accessAllAreasCard = allPerm.get(null);
final Constructor<?> constructor = Class.forName("javax.crypto.CryptoPermissions").getDeclaredConstructor();
constructor.setAccessible(true);
Object coll = constructor.newInstance();
Method addPerm = Class.forName("javax.crypto.CryptoPermissions").getDeclaredMethod("add", java.security.Permission.class);
addPerm.setAccessible(true);
addPerm.invoke(coll, accessAllAreasCard);
Field defaultPolicy = Class.forName("javax.crypto.JceSecurity").getDeclaredField("defaultPolicy");
defaultPolicy.setAccessible(true);
defaultPolicy.set(null, coll);
} catch (Exception e) {
log.warn("Failed to deactivate AES-256 barrier logic, Tor mode may crash if this JVM requires it: " + e.getMessage());
}
}