Отображение идентификаторов объектов на криптографические алгоритмы
Обновлен: Ноябрь 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>. Перед сопоставлением идентификатора объекта с простым именем необходимо сопоставить имя алгоритма с классом.