【问题标题】:addProvider bouncycastle filenotfoundexceptionaddProvider bouncycastle 文件未找到异常
【发布时间】:2011-06-20 20:38:03
【问题描述】:

我已经能够使用 bouncycastle jar 在本地运行解密和加密。我已经生成了我想将公钥放入客户端(Java 和 Android)并将私钥放入 Web 服务的密钥。我已经能够对消息进行加密和编码,并将加密的消息发送到 web 服务(在 Lunarpages 的托管服务上),但是 web 服务解密失败并出现 FileNotFoundException

BouncyCastleProvider bc = new BouncyCastleProvider();

Security.addProvider(new BouncyCastleProvider());

bcprov-ext-jdk14-146.jar 和 bcprov-jdk14-146.jar 包含在 web-inf lib 目录中。

有什么我可以通过编程来实现的吗?或者 Lunarpages 必须做些什么?

我什至无法为我打印堆栈跟踪,因此我想我可能会尝试使用不同的提供程序来查看是否能得到更好的响应 - SunJCE。

access denied (java.security.SecurityPermission insertProvider.SunJCE)

java.security.AccessControlContext.checkPermission(AccessControlContext.java:269) java.security.AccessController.checkPermission(AccessController.java:401) java.lang.SecurityManager.checkPermission(SecurityManager.java:524) java.lang.SecurityManager.checkSecurityAccess(SecurityManager.java:1673) java.security.Security.check(Security.java:1307) java.security.Security.insertProviderAt(Security.java:697) java.security.Security.addProvider(Security.java:757) net.wpstudios.tcws.pgp.RSAEncrypt.generateKeys(RSAEncrypt.java:81) javax.servlet.http.HttpServlet.service(HttpServlet.java:165) javax.servlet.http.HttpServlet.service(HttpServlet.java:103) com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) com.caucho.server.http.Invocation.service(Invocation.java:315) com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135) com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:346) com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274) com.caucho.server.TcpConnection.run(TcpConnection.java:139) java.lang.Thread.run(Thread.java:534)

【问题讨论】:

  • 我什至无法获得堆栈跟踪,所以我想我可能会尝试使用不同的提供程序来看看会发生什么......
  • @owlstead,感谢您指出显而易见的问题,但这是在我的评论之后添加的。

标签: java rsa bouncycastle filenotfoundexception


【解决方案1】:

FileNotFound 异常重要吗?显然,caucho 服务器设置在添加提供程序时使用了访问限制。没关系,如果你想开发一些应用程序级别的加密/解密,你可以直接使用 bouncy castle crypto API。它不像 JCE 那样友好,但它足够有用。但是,如果您想使用一个又使用 JCA/JCE 框架的库,这可能不起作用。

Lunarpages 是手动更改权限或添加提供程序(似乎使用resin.conf),但可能很难仅为您更改它们,除非您是唯一使用Java 应用程序服务器的人。我想问它永远不会有什么坏处。

【讨论】:

  • 您的答案有效,不,他们不会“只为我”更新 conf 文件,哈哈。正如您在此处提到的,我已经能够成功使用 SunJCE 提供程序。
猜你喜欢
  • 2019-03-29
  • 2019-06-26
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 2016-12-03
  • 2019-09-29
  • 2018-02-25
  • 1970-01-01
相关资源
最近更新 更多