1

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)

4

1 に答える 1

1

FileNotFound例外は重要ですか?明らかに、cauchoサーバーのセットアップでは、プロバイダーの追加にアクセス制限を使用しています。アプリケーションレベルの暗号化/復号化を開発したい場合は、弾力のある城の暗号化APIを直接使用できることを気にしないでください。JCEほどフレンドリーではありませんが、十分に使用できます。ただし、JCA / JCEフレームワークを使用するライブラリを使用する場合は、これが機能しない可能性があります。

Lunarpagesは、パーミッションを変更するか、プロバイダーを手動で追加することです(resin.confを使用しているようです)が、Javaアプリケーションサーバーを使用しているのがあなただけでない限り、あなただけのためにそれらを変更するのは難しいかもしれません。私が思うに尋ねることは決して痛いことではありません。

于 2011-06-21T22:39:19.453 に答える