1

QR コードに署名する必要があり、標準の .Net コードを使用して暗号署名を作成しようとしました。

var privateKey = (RSACryptoServiceProvider) certificate.PrivateKey;
var data = Encoding.UTF8.GetBytes( payload );
var signature = privateKey.SignData( data, new SHA1Managed() );

これは機能しますが、署名の長さは 1024 ビットです。作成したい QR コードには長すぎます。

512 ビットなど、より短い署名を生成できるかどうかは誰にもわかりませんか?

または、QR コードに署名するための標準はありますか?

4

1 に答える 1

1

署名は、使用しているキーのモジュラスと同じ長さになります。証明書の作成時にモジュラスを指定しない場合、デフォルトで 1024 ビットになります。長さを 512 に変更すると、結果の署名は 512 ビットになります。

証明書の作成時にモジュラスを変更するには、RSAParameters構造体を使用します。

于 2011-05-07T01:29:58.037 に答える