7

これが私がやりたいことです:

  1. ユーザーがドキュメント (html) を作成します
  2. 編集 -> サーバーに PDF を保存
  3. ユーザーがドキュメントに署名するかどうかを尋ねる
    • (はい) ここに問題があります
    • (いいえ) 問題ありません
  4. ???? (重要ではありません)

だから今私が直面している問題は、ステップ3でそれを行う方法です(はい)。署名がサーバー上にある場合は問題ありません。デジタル署名で署名できるhtml-> php-> pdfクラスがいくつかありますが、署名はファイルとしてサーバーに。問題は、サーバー上で直接行うにはどうすればよいかということです。ユーザーが [はい] を選択すると、署名が (自分のコンピューターのリーダーから) 読み取られてサーバーに送信され、署名が完了します。ここでは、Java などのようなものがないとできないと思います。私の意見では、PHP と JavaScript だけでは、このアクションには十分ではありません。

誰もそのような問題に遭遇したことがありますか? 多分いくつかのライブラリを使用する準備ができていますか?

PS タグが正しいかどうかはよくわかりませんが、どちらを配置すればよいかわかりませんでした。

4

1 に答える 1

6

秘密鍵を含む証明書がクライアントにある場合、署名を行うにはクライアント側モジュールが必要です。JavaScript はクライアント上のキーにアクセスできないため、十分ではありません。JavaScript から CAPICOM を呼び出すことはできますが、これは部分的な (PKCS#11 のサポートなし)、Windows 固有の古いソリューションです。より良いオプションは、署名を実行する Java で書かれたブラウザ アプレットを用意することです (以下を参照)。

私たちの SecureBlackbox 製品には、あなたが説明したことを正確に実行する分散署名アドオンがあります (現時点では、PHP、Java、ASP.NET、およびコンパイルされたモジュールがサポートされています)。アドオンがどのように機能するかのスキームを確認できます。

ここに画像の説明を入力

私たちの製品では、Java アプレット、ActiveX コントロール、Flash アプレットなどのビルド済みブラウザ モジュールを提供していますが、ほとんどの場合、Windows 上の PKCS#11 ストレージと Windows 証明書ストレージにアクセスできる Java アプレットで十分です。Java アプレットをサポートしていないブラウザの場合、SecureBlackbox では、Java Web Start を介してアプレットを外部「アプリケーション」として使用できます。

おそらく、この完全なスキームを再作成する必要がありますが、サーバー上でハッシュを計算し、それを署名のためにクライアントに渡してから、署名をドキュメントに埋め込むのは大きなトリックです。

ドキュメント全体をクライアントに転送し、iText または SecureBlackbox の Java 版を使用してそのドキュメントに署名し、ドキュメントをサーバーにアップロードする Java アプレットを用意する方がおそらく簡単でしょう。

于 2012-05-18T16:51:15.893 に答える