O mapeamento de identificadores de objeto para os algoritmos de criptografia
Assinaturas digitais garantem que dados não seja violados quando ele é enviado de um programa para outro. Normalmente, a assinatura digital é calculada pela aplicação de uma função matemática o hash dos dados a ser assinado. Ao formatar um valor de hash a ser assinado, alguns algoritmos de assinatura digital acrescentar um identificador de objeto de ASN. 1 (OID) como parte da operação de formatação. O OID identifica o algoritmo que foi usado para calcular o hash. Você pode mapear os algoritmos para identificadores de objeto para estender o mecanismo de criptografia para usar os algoritmos personalizados. O exemplo a seguir mostra como mapear um identificador de objeto para um novo 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>
O <oidEntry> elemento contém dois atributos. O OID atributo é o número do identificador de objeto. O nome atributo é o valor da nome de atributo da <nameEntry> elemento. Deve haver um mapeamento do nome do algoritmo para uma classe antes de um identificador de objeto pode ser mapeado para um nome simples.