Отображение идентификаторов объектов на криптографические алгоритмы

Цифровые подписи гарантируют, что данные не будут изменены при отправке из одной программы в другую. Обычно цифровая подпись вычисляется путем применения математической функции к хэшу подписанных данных. При форматировании хэш-значения для подписи некоторые алгоритмы цифровой подписи добавляют идентификатор объекта 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> содержит два атрибута. Атрибут OID — это номер идентификатора объекта. Атрибут name — это значение атрибута name из <элемента nameEntry>. Перед сопоставлением идентификатора объекта с простым именем должен быть сопоставлен с именем алгоритма с классом.

См. также