私は現在、ポルトガルの市民カードとJavaアプレットを使用してフォームのデジタル署名を利用するWebアプリケーションを開発しています。html入力タイプ=ファイルとJavaアプレットの相互運用
タイプファイルの入力に問題が発生するまでは、すべて正規形でスムーズに進んでいます。このアプリは添付ファイルをサポートしているので、ユーザーが添付ファイルを送信または確認できる別の添付ファイルマネージャを作成しました。送信するには、2つの方法が必要です。通常はアップロードするか、ファイルに署名してアップロードします。
最初のアイデアは、ユーザーに入力タイプ= "ファイル"でファイルを選択させ、 "サインアンドアップロード"をクリックすると、Javaアプレットを起動して署名を生成して隠された入力。問題はhtmlのセキュリティ制限にあり、一部のブラウザではjavascript(Javaアプレットへのアクセスも拒否)からアクセスできないファイルを選択することになります。
私は、サーバー側で署名するファイルのハッシュを計算し、クライアント側で署名することも考えましたが、これもオプションではありません。ハッシュとその署名の決定は、すべてクライアント側で行う必要があります(法的理由)。
もう1つのアイデアは、JUploadのようなものを使用することでしたが、クライアント証明書付きのSSLチャネル(Webアプリケーションでのログインの仕方によって発生する可能性があります)を介して接続されていた場合はサポートされません。
最後に、私はアプレット上でファイルを開いて署名し、それをbase64の隠し入力に保存するというこの不条理な考えをしていました。明らかに、これはファイルサイズに大きな制約をもたらします。
私の質問は次のとおりです。この問題の最善のアプローチは何ですか?助言がありますか?事前に
感謝;)明らかに