暗号化アルゴリズムへのオブジェクト ID の割り当て
更新 : 2007 年 11 月
デジタル署名は、データをあるプログラムから別のプログラムへ送信したときに、データが不正に変更されないことを保証するために使用されます。一般に、デジタル署名は、署名の対象となるデータのハッシュに数値演算関数を適用して計算されます。署名対象のハッシュ値をフォーマットするときに、一定のデジタル署名アルゴリズムにより、フォーマット操作の一部として ASN.1 OID (オブジェクト ID) が付加されます。OID は、ハッシュの計算に使用されたアルゴリズムを識別します。アルゴリズムにオブジェクト ID を割り当てることにより、カスタムのアルゴリズムを使用するように暗号機構を拡張できます。新しいハッシュ アルゴリズムにオブジェクト ID を割り当てる方法を次の例で示します。
<configuration>
<mscorlib>
<cryptographySettings>
<cryptoNameMapping>
<cryptoClasses>
<cryptoClass MyNewHash="MyNewHashClass, MyAssembly
Culture='en', PublicKeyToken=a5d015c7d5a0b012,
Version=1.0.0.0"/>
</cryptoClasses>
<nameEntry name="NewHash" class="MyNewHash"/>
</cryptoNameMapping>
<oidMap>
<oidEntry OID="1.3.14.33.42.46" name="NewHash"/>
</oidMap>
</cryptographySettings>
</mscorlib>
</configuration>
<oidEntry> 要素には、2 つの属性が含まれています。OID 属性は、オブジェクト ID 番号です。name 属性は、<nameEntry> 要素からの name 属性の値です。オブジェクト ID に簡易名を割り当てるには、あらかじめ、クラスにアルゴリズム名を割り当てる必要があります。