java - addProvider bouncycaSTLe 文件未找到异常

标签 java rsa bouncycastle filenotfoundexception

我已经能够使用 bouncycaSTLe jar 在本地运行解密和加密。我已经生成了 key ,我想将公钥放在客户端(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.Initation.service(Initation.java:315) com.caucho.server.http.CacheInitation.service(CacheInitation.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)

最佳答案

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

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

关于java - addProvider bouncycaSTLe 文件未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6417194/

相关文章:

java - 如何从包含任何字符的文本文件中查找最长的单词?

java - 如何从 PKCS1 转换为 PKCS8

java - 使用 rsa key 解密字符串

Java - 当我获取值并更改时,集合是否总是会更改

java - Hibernate:@EmbeddedId、继承和@SecondaryTable

java - 如何在Java中创建缓存来存储用户 session

go - 导入字符串 RSA 公钥以在 Go 中使用 RSA 加密

java - RSA 与 AES 加密和解密

rsa - 减少RSA算法生成的密文长度

java - 使用 PGP Bouncy CaSTLe 依赖项创建 CipherOutputStream