Freigeben über


Zuordnen von Objektbezeichnern zu kryptografischen Algorithmen

Hinweis

Dieser Artikel gilt für das .NET Framework. Er gilt nicht für neuere Implementierungen von .NET, einschließlich .NET 6 und höherer Versionen.

Digitale Signaturen stellen sicher, dass Daten nicht manipuliert werden, wenn sie von einem Programm an ein anderes gesendet werden. In der Regel wird die digitale Signatur berechnet, indem eine mathematische Funktion auf den Hash der zu signierten Daten angewendet wird. Beim Formatieren eines zu signierenden Hashwerts hängen einige Algorithmen für digitale Signaturen einen ASN.1-Objektbezeichner (OID) als Teil des Formatierungsvorgangs an. Der OID identifiziert den Algorithmus, der zum Berechnen des Hashs verwendet wurde. Sie können Algorithmen Objektbezeichnern zuordnen, um den Kryptografiemechanismus zu erweitern, um benutzerdefinierte Algorithmen zu verwenden. Das folgende Beispiel zeigt, wie ein Objektbezeichner einem neuen Hashalgorithmus zugeordnet wird.

<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>

Das <oidEntry>-Element enthält zwei Attribute. Das OID-Attribut ist die Objektbezeichnernummer. Das name-Attribut ist der Wert des name-Attributs aus dem <nameEntry>-Element. Es muss eine Zuordnung von einem Algorithmusnamen zu einer Klasse vorhanden sein, bevor ein Objektbezeichner einem einfachen Namen zugeordnet werden kann.

Siehe auch