Mapping di identificatori di oggetti ad algoritmi di crittografia

Le firme digitali assicurano che i dati non vengano manomessi quando vengono inviati da un programma all'altro. In genere la firma digitale viene calcolata applicando una funzione matematica all'hash dei dati da firmare. Quando si formatta un valore hash da firmare, alcuni algoritmi di firma digitale aggiungono un OID (Object Identifier) ASN.1 come parte dell'operazione di formattazione. L'OID identifica l'algoritmo usato per calcolare l'hash. È possibile eseguire il mapping degli algoritmi agli identificatori di oggetto per estendere il meccanismo di crittografia all'uso degli algoritmi personalizzati. L'esempio seguente illustra come eseguire il mapping di un identificatore di oggetto a un nuovo algoritmo 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>  

L'elemento<oidEntry>contiene due attributi. L'attributo OID è il numero di identificatore dell'oggetto. L'attributo name è il valore dell'attributo name dall'elemento <nameEntry>. Deve essere eseguito un mapping da un nome di algoritmo a una classe prima che si possa eseguire il mapping di un identificatore di oggetto a un nome semplice.

Vedi anche