0

私はまだセキュリティの問題に慣れていないので、私の問題は実際には単なる誤解かもしれません。

私が使用しているシステムには、ユーザーがWebアプリケーションのどこかでデータに署名/タイムスタンプを付ける必要があるという要件があります。ただし、デジタル証明書で署名するには、ユーザーはシステムに秘密鍵を入力する必要があります。サードパーティが関与しているという事実を踏まえて、私たちは企業として、エンドユーザーのみがデータに署名/タイムスタンプできることを保証する必要があります。

私がこれからわか​​る唯一の方法は、データを証明書化できるデスクトップアプリケーションを作成することです。しかし、それでも私はどこかにタイムスタンプの機能が必要であり、これには外部サーバーとの通信が必要になります。これは、当社が秘密鍵を「盗む」方法である可能性があります。

インターネット、特にWebアプリでデータに署名/タイムスタンピングするためのパターンはありますか?これはどのように実装できますか?

4

1 に答える 1

1

つまり、サーバーとユーザーがいます。ユーザーは、システム上でデータのデジタル署名を実行します。タイムスタンプは署名と一緒に実行されます(署名時間を証明します)。タイムスタンプは、信頼できるサードパーティのTSA(タイムスタンプ機関)によって実行されます。署名を行うコードはTSAに接続し(通常はHTTPまたはHTTPSプロトコルを使用)、タイムスタンプはその方法で実行されます。TSAの証明書はタイムスタンプに含まれているため、タイムスタンプは後で検証できます。

さて、技術面についてです。Webアプリケーションの場合、最適なオプションは、ユーザーのブラウザにダウンロードされ、署名を行うアプレットまたはActiveXコントロールを作成することです。

当社はこれに対して事前に作成されたソリューションを提供しており、この回答で詳細に説明しました。

もちろん、ユーザーがドキュメントをダウンロードして、Acrobatのものまたは他のクライアント側アプリケーションを使用して署名し、ドキュメントをアップロードし直すことができます。このようなアプリケーションを自分で作成する場合は、コンポーネントに署名する必要があります。ITextまたはSecureBlackbox

于 2013-02-15T12:26:49.157 に答える