暗号化アルゴリズムへのオブジェクト ID の割り当て

Note

この記事は .NET Framework に固有のものです。 .NET 6 以降のバージョンを含めて、.NET の新しい実装には適用されません。

デジタル署名によって、プログラム間でデータが送信されるとき、改ざんされることがありません。 通常、署名されるデータのハッシュに数学関数を適用することでデジタル署名は計算されます。 署名されるハッシュ値を書式設定するとき、一部のデジタル署名アルゴリズムでは、書式設定操作の一環として、ASN.1 オブジェクト識別子 (OID) が追加されます。 OID によって、ハッシュの計算に使用されたアルゴリズムが特定されます。 アルゴリズムをオブジェクト識別子にマッピングすることで、カスタム アルゴリズムを使用するよう、暗号アルゴリズムを拡張できます。 次の例では、オブジェクト識別子を新しいハッシュ アルゴリズムにマッピングする方法を確認できます。

<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 属性はオブジェクト識別子番号です。 name 属性は、<nameEntry> 要素からの name 属性の値です。 オブジェクト識別子を簡易名にマッピングするには、アルゴリズム名がクラスにマッピングされている必要があります。

関連項目