1

DSA を使用してバイナリ BLOB の署名を作成しています。DSACryptoServiceProvider の CreateSignature(byte[]) を使用するだけでなく、DSASignatureFormatter の CreateSignature(byte[]) を使用することで得られるものを把握しようとしています。

私が知る限り、DSASignatureFormatter を使用する唯一の利点は、SetHashAlgorithm() を使用してハッシュ アルゴリズムを指定できることです。その後、フォーマッターがデータのハッシュを処理します。DSACryptoServiceProvider シナリオでは、CreateSignature メソッドにデータを渡す前に、データを事前にハッシュする必要があります。

Formatter を使用することで得られるものは他にありますか?

4

1 に答える 1

2

DSASignatureFormatter は、本格的な暗号化アルゴリズムに対してより限定されたクラスです。ペイロードの署名のみに関係し、その逆 (DSASignatureDeformatter) は署名の検証にのみ関係します。

ある日 RSAPKCS1SignatureFormatter に切り替えたい場合は、基本クラスに対してすべての作業を行い、かなり簡単に切り替えることができると思います。

AsymmetricSignatureFormatter と AsymmetricSignatureDeformatter は単純なクラスであり、いずれにせよかなり簡単にコーディングでき、SymmetricAlgorithm クラスとは異なる抽象化レイヤーを表します。

于 2009-06-16T05:39:18.640 に答える