Поделиться через


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

Обновлен: Ноябрь 2007

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

См. также

Другие ресурсы

Настройка криптографических классов

Службы криптографии