1

私は現在、ポルトガルの市民カードとJavaアプレットを使用してフォームのデジタル署名を利用するWebアプリケーションを開発しています。html入力タイプ=ファイルとJavaアプレットの相互運用

タイプファイルの入力に問題が発生するまでは、すべて正規形でスムーズに進んでいます。このアプリは添付ファイルをサポートしているので、ユーザーが添付ファイルを送信または確認できる別の添付ファイルマネージャを作成しました。送信するには、2つの方法が必要です。通常はアップロードするか、ファイルに署名してアップロードします。

最初のアイデアは、ユーザーに入力タイプ= "ファイル"でファイルを選択させ、 "サインアンドアップロード"をクリックすると、Javaアプレットを起動して署名を生成して隠された入力。問題はhtmlのセキュリティ制限にあり、一部のブラウザではjavascript(Javaアプレットへのアクセスも拒否)からアクセスできないファイルを選択することになります。

私は、サーバー側で署名するファイルのハッシュを計算し、クライアント側で署名することも考えましたが、これもオプションではありません。ハッシュとその署名の決定は、すべてクライアント側で行う必要があります(法的理由)。

もう1つのアイデアは、JUploadのようなものを使用することでしたが、クライアント証明書付きのSSLチャネル(Webアプリケーションでのログインの仕方によって発生する可能性があります)を介して接続されていた場合はサポートされません。

最後に、私はアプレット上でファイルを開いて署名し、それをbase64の隠し入力に保存するというこの不条理な考えをしていました。明らかに、これはファイルサイズに大きな制約をもたらします。

私の質問は次のとおりです。この問題の最善のアプローチは何ですか?助言がありますか?事前に

感謝;)明らかに

答えて

0

、JSやFlashからブラウザで選択したファイルにアクセスすることは不可能です。したがって、唯一の方法は、信頼できるJavaアプレットを使用することです。しかし、それはエレガントな方法ではありません。また、ユーザーにクライアント証明書がある場合 - 署名する理由は何ですか?通信チャネルが暗号化されている場合