java - 如何使用 SilverTunnel-NG 在 Java 中建立 TOR 连接?

标签 java tor

我尝试运行 an example code .我在我的项目中包含以下库:

  • slf4j-jdk14-1.7.10.jar
  • slf4j-api-1.7.10.jar
  • netlib-0.0.4-SNAPSHOT.jar
  • bcprov-jdk15on-1.50.jar
  • bcpkix-jdk15on-1.50.jar

显然这还不够,因为我得到了一个错误:

INFO: Welcome to silvertunnel-ng.org Netlib (version 0.0.4-SNAPSHOT)

Exception in thread "main" java.lang.NoClassDefFoundError: org/spongycastle/jce/provider/BouncyCastleProvider (...) at TorTest.main(TorTest.java:16)

Caused by: java.lang.ClassNotFoundException: org.spongycastle.jce.provider.BouncyCastleProvider

第 16 行在哪里(您可以在示例链接中看到整个文件):

final NetSocket topSocket = NetFactory.getInstance().getNetLayerById(NetLayerIDs.TOR_OVER_TLS_OVER_TCPIP).createNetSocket(null, null, TORCHECK_NETADDRESS);

我在寻找如何包含此 BouncyCaSTLeProvider 的答案,但我得到的只是包含 bcprov-jdk15on-1.50.jarbcpkix-jdk15on-1.50.jar 我做到了。

有人知道我在这里缺少什么吗?

最佳答案

这对我来说很好(我使用 maven 来引入依赖项),这是我得到的依赖项列表

org.silvertunnel-ng:netlib:jar:0.0.3:compile
org.apache.directory.studio:org.apache.httpcomponents.httpcore:jar:4.1.2:compile
org.apache.httpcomponents:httpcore:jar:4.1.2:compile
org.apache.directory.studio:org.apache.httpcomponents.httpclient:jar:4.1.2:compile
org.apache.httpcomponents:httpclient:jar:4.1.2:compile
org.apache.httpcomponents:httpmime:jar:4.3:compile
org.bouncycastle:bcprov-jdk15on:jar:1.50:compile
org.bouncycastle:bcpkix-jdk15on:jar:1.50:compile
org.slf4j:slf4j-api:jar:1.7.7:compile

我从maven导入的唯一依赖是

<dependency>
   <groupId>org.silvertunnel-ng</groupId>
   <artifactId>netlib</artifactId>
   <version>0.0.3</version>
</dependency>

有趣的是,org.spongycaSTLe.jce.provider.BouncyCaSTLeProvider 类不在任何 jar 中,谷歌搜索了一下我发现该类存在于 unofficial fork of Bouncy Castle 中。 ... 所以也许你从那个分支中得到了你的库之一。

如果你愿意,我可以把它放在 github 上。

关于java - 如何使用 SilverTunnel-NG 在 Java 中建立 TOR 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28920873/

相关文章:

java - 使用带注释的 Hibernate 的复杂主键

java - 在 jar 中加载文件

使用 Selenium 的 Java 和 Tor 浏览器

python - 在 Python 中使用 Selenium 访问 Tor

python - 多个 TOR 导出节点 - Controller 不工作?

java - 在 Java Swing 中,如何管理允许选择多个面板的面板列表?

java - 检索此创建的 PDF 文件的页数的更智能解决方案是什么?

java - 带有 Spring Boot 和多个模式的 Liquibase,如何指定执行顺序

java - Android - 如何让Tor服务使用Socket进行DNS解析?

Haskell SOCKS5 拒绝连接