1

サーバー側にある PDF ドキュメントに署名する必要があるイントラネット Web アプリケーションがあります。署名者は、特定の Web ページから現在署名コマンドを発行しているエンド ユーザーである必要があり、彼のデジタル署名/証明書は彼のスマート カードにあります。

私が収集した情報によると、ユーザーがスマート カードをリーダーに接続すると、情報が Windows キー ストアに取り込まれます。私は正しいですか?したがって、私がする必要があるのは、Internet Explorer から Windows 証明書ストアからその情報を読み取ることです。JavaScriptがその情報に到達しないことは知っています。Java がそれを実行できることも知っていますが、Java アプレットの使用を避けることができれば、そうします。

何か案は?

4

3 に答える 3

2

そうすることはできません。

ドキュメントに署名する場合、ブラウザは秘密鍵を含む証明書をサーバーに送信する必要があります。ブラウザを介してWindows証明書ストアにアクセスできる場合、攻撃者がすべての証明書の秘密鍵を読み取る可能性があるため、これは重大なセキュリティの問題になります。

あなたが説明している基本的な考えに基づいて私が提案するもう一つのこと

ユーザーがフォームまたはWindows認証を使用してイントラネットアプリにサインインできる安全な認証システムを構築します。

サーバー側で各ユーザーの証明書を保持します。その後、ユーザーがPDFをアップロードする場合は、ユーザー証明書を使用して署名し、ダウンロードを提案します。

ローカルアプリを考えてみてください

ユーザーがローカルでスマートカードを持っている場合は、PDFに署名するローカルアプリケーションを持っていないのはなぜですか?ローカルで必要なものと必要なものがすべて揃っていることを確認してください。なぜそれをサーバー側にプッシュするのですか?

于 2012-12-14T21:07:55.180 に答える
0

署名はどのくらいの頻度で行われますか? おそらく、署名を行うために Java Web Start アプリ (一種の妥協 - セキュリティ ポリシーによって異なります) を使用することを検討してください。

于 2012-12-13T23:05:22.827 に答える