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