В начале года получил код dreamspark H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При его вводе- сообщение что он просрочен.
|
Настроечные параметры CLR
Три раздела, описываемые в этой лекции, настраивают параметры для CLR (common language runtime – общая среда выполнения промежуточного языка). Эти параметры задают версию среды выполнения, запуск сборщика мусора и параметры криптографии.
В этой лекции приведено описание следующих разделов.
- <mscorlib>. Настраивает соответствия между дружественными именами и классами криптографии.
- <runtime>. Определяет версию сборки и запуск сборщика мусора.
- <startup>. Определяет среду выполнения CLR, используемую при выполнении приложения.
Работа с разделом <mscorlib>
Раздел <mscorlib> содержит параметры для настройки некоторых криптографических возможностей Microsoft .NET Framework. Используемые элементы расположены в подразделе <cryptographySettings>.
Использование раздела <cryptographySettings>
Подраздел содержит два элемента, которые создают соответствия для криптографии и соответствия OID – <cryptoNameMapping> и <oidMap>.
Использование элемента <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").
Использование элемента <oidMap>
Элемент <oidMap> создает соответствия идентификаторов объектов OID или ASN.1 и классов. Идентификаторы объектов ASN.1 определяют алгоритм для некоторых криптографических форматов. Этот элемент включает один субэлемент – <oidEntry>.
Использование элемента <oidEntry>. Элемент <oidEntry> создает соответствие между числом OID и именем класса, указанным в элементе <nameEntry>. Ниже приведен его синтаксис.
<cryptographySettings> <oidMap> <oidEntry OID="OID Value" name="Class Name" /> </oidMap> </cryptographySettings>
В таблице 7.2 содержится перечень свойств элемента <oidEntry>.
Свойство | Описание |
---|---|
OID | Определяет ASN.1 OID для алгоритма, реализованного вашим классом. |
name | Определяет имя класса, указанное в элементе <nameEntry>. |
Ниже приведен пример элемента, использованного для создания соответствия между OID и классом, объявленным в элементе <nameEntry>.
<cryptographySettings> <cryptoNameMapping> <cryptoClasses> <cryptoClass CustomRSA="CustomRSAClass, MyCustomAssembly Culture=neutral, PublicKeyToken= b77a5c561934e089, Version=1.0.0.0" /> </cryptoClasses> <nameEntry name="RSA" class="CustomRSA" /> </cryptoNameMapping> <oidMap> <oidEntry OID="1.3.14.33.42.46" name="RSA" /> </oidMap> </cryptographySettings>
Теперь OID будет ассоциирован с классом, объявленным в этом примере.