Использование элемента <cryptoNameMapping>
Элемент <cryptoNameMapping> задает соответствия между классами безопасности и их дружественными именами. Он содержит два элемента – <cryptoClasses> и <nameEntry>.
Использование элемента <cryptoClasses>. Элемент <cryptoClasses> содержит список классов криптографии, которые будут иметь соответствующие им дружественные имена, объявленные с помощью элемента <nameEntry>. Элемент, используемый для создания ссылки на класс криптографии, называется <cryptoClass>. Ниже приведен его синтаксис.
<cryptoNameMapping> <cryptoClasses> <cryptoClass CryptoName="CryptoClass, AssemblyName" /> </cryptoClasses> </cryptoNameMapping>
Ниже показан пример элемента <cryptoClass>, использованного для объявления нового класса.
<cryptoNameMapping> <cryptoClasses> <cryptoClass CustomRSA="CustomRSAClass, MyCustomAssembly Culture=neutral, PublicKeyToken=b77a5c561934e089, Version=1.0.0.0" /> </cryptoClasses> </cryptoNameMapping>
Для завершения создания соответствия имени можно использовать элемент <nameEntry>.
Использование элемента <nameEntry>. Элемент <nameEntry> ставит в соответствие классу, объявленному вами в разделе <cryptoClasses>, дружественное имя. Ниже приведен его синтаксис.
<cryptoNameMapping> <nameEntry name="friendly name" class="Crypto Class Name" /> </cryptoNameMapping>
В таблице 7.1 содержится перечень свойств элемента <nameEntry>.
name | Дружественное имя, используемое для создания экземпляра данного класса. |
class | Имя класса, указанное в элементе <cryptoClass>. |
Ниже приведен пример использования элемента <nameEntry> со связанным элементом <cryptoClass>.
<cryptographySettings> <cryptoNameMapping> <cryptoClasses> <cryptoClass CustomRSA="CustomRSAClass, MyCustomAssembly Culture=neutral, PublicKeyToken=b77a5c561934e089, Version=1.0.0.0" /> </cryptoClasses> <nameEntry name="RSA" class="CustomRSA" /> </cryptoNameMapping> </cryptographySettings>
Создав такое соответствие, вы можете получить доступ к классу криптографии с помощью метода System.Security.CryptoConfig.CreateFromName. Просто передайте в метод CreateFromName имя класса, указанное в <nameEntry>. Чтобы создать экземпляр класса, объявленного в предыдущем примере, используйте System.Security.CryptoConfig.CreateFromName("RSA").