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) ネット。 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)