2010-12-28 23 views
1

私はcrypto.signText()CAPICOMを使用してテキストに署名しています。公開鍵と一致する方法

だから、今はBase64Encodedの署名付きテキストがあります。

次に、BouncyCastleを使用して署名を確認しています。これまでは大丈夫です。ユーザがシステムにログインが第一の時間のために、私はその署名を検証し、データベースにPUBLICKEYを保存したいとき

今私は何をしたいかは、

です。そして、次のログインから、私はそのユーザーに対してデータベースにストロークされたpublicKeyを、新たに署名されたテキストとマッチさせたいと思う。

署名されたテキストの公開鍵とdbに格納されている公開鍵が同じ場合、ユーザーだけがシステムにログインできるようになります。

これを実装する方法は? (私はJAVA langを使用しています)

答えて

0

最初の署名は、公開鍵ではなく秘密鍵を使用して作成されます。その後、署名は公開鍵を用いて検証することができる。これは、データベースからの公開鍵を使用して、「署名されたテキスト」の署名を検証することができます。 Javaでは、通常Bouncycastleは必要ありません。ランタイムには、必要なものがすべて含まれています。

署名を検証する方法例:リプレイを回避するために http://download.oracle.com/javase/tutorial/security/apisign/vstep4.html

は「署名のテキストは、」システムの時刻と日付または単調カウンタが含まれている必要があり攻撃します。したがって、最新のものであることを確認する必要があります。

関連する問題