Asignar identificadores de objeto a algoritmos de criptografía
Las firmas digitales garantizan que los datos no se han manipulado cuando se envían de un programa a otro. Normalmente, la firma digital se calcula aplicando una función matemática al hash de los datos que se van a firmar. Al dar formato a un valor hash que se va a firmar, algunos algoritmos de firma digital agregan un Identificador de objeto (OID) ASN.1 como parte de la operación de formato. El OID identifica el algoritmo que se utilizó para calcular el hash. Se puede asignar algoritmos a identificadores de objetos para extender el mecanismo de criptografía y que utilice algoritmos personalizados. En el ejemplo siguiente se describe cómo se asigna un identificador de objeto a un nuevo algoritmo de hash.
<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>
El elemento <oidEntry> contiene dos atributos. El atributo OID es el número del identificador de objeto. El atributo name es el valor del atributo name del elemento <nameEntry>. Debe haber una asignación de un nombre de algoritmo a una clase para poder asignar un identificador de objeto a un nombre sencillo.