次の方法で共有


オブジェクト識別子を暗号化アルゴリズムにマッピングする

この記事は .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 属性は、>の name 属性の値です。 オブジェクト識別子を単純な名前にマップするには、アルゴリズム名からクラスへのマッピングが必要です。

こちらも参照ください