2011-06-20 12 views
1

私は、bouncycastle jarsを使用してローカルで復号化と暗号化を実行することができました。私は公開鍵をクライアント(JavaとAndroid)とプライベートキーをWebサービスに入れたいというキーを生成しました。私は、暗号化することができて、メッセージをエンコードし、(Lunarpagesのことでホスティングサービス上の)Webサービスへの暗号化されたメッセージを送信するが、Webサービスの復号化は、ライン上にFileNotFoundExceptionで失敗してきたaddProvider bouncycastle filenotfoundexception

BouncyCastleProvider bc = 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 (セキュリティーマネージャー)。 .Security.addProvider(Security.java:757) net.wpstudios.tcws.pgp.RSAEncrypt.generateKeys(RSAEncrypt.java:81) java x.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)

+1

完全なスタックトレース? –

+0

私はstacktraceを取得できませんでしたので、何が起こるかを見るために別のプロバイダを試すかもしれないと思っていました。 – iowatiger08

+0

@owlstead、明白なことを指摘してくれてありがとうございます。 –

答えて

1

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

Lunarpagesは、Javaアプリケーションサーバーを使用する唯一のものでない限り、アクセス許可を変更したり、手動で(resin.confを使用して)プロバイダを追加することです。それは私が推測することを傷つけることは決してありません。

+0

私の答えは何も間違っていますか?こんにちは? –

+0

あなたの答えはうまくいきますし、彼らは "私のためだけ"という笑い声のファイルを更新しません。 SunJCEプロバイダを使用することができました。 – iowatiger08

関連する問題