|
В начале года получил код dreamspark H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При его вводе- сообщение что он просрочен.
|
Настроечные параметры CLR
Три раздела, описываемые в этой лекции, настраивают параметры для CLR (common language runtime – общая среда выполнения промежуточного языка). Эти параметры задают версию среды выполнения, запуск сборщика мусора и параметры криптографии.
Предостережение Эти параметры должны задаваться только в файле machine.config сервера или в настроечном файле вашего приложения.В этой лекции приведено описание следующих разделов.
- <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 будет ассоциирован с классом, объявленным в этом примере.