Смекни!
smekni.com

Технология ActiveX (стр. 3 из 3)

"Для себя мы пока сделали следующий вывод: если пишешь компоненты ActiveX на продажу, то лучше использовать Visual C++, - продолжает Горюшин. - Для быстрой разработки компонентов, предназначенных для внутреннего применения, неплохо работать с Delphi и Visual Basic (особенно если в одной команде собраны программисты, работающие на Delphi и VB). При этом, однако, нужно помнить, что несмотря на спецификацию Microsoft, элемент ActiveX, написанный на Visual C++ или Visual Basic, не всегда хорошо работает в Delphi. Поэтому разработчикам коммерческих управляющих элементов приходится тестировать вновь создаваемые элементы ActiveX во всех средах программирования.

Сертификация

Для того чтобы использовать Authenticode и создать цифровой сертификат, разработчик должен иметь набор из открытого ключа (public key) и частного ключа (private key). Они также должны быть сертифицированы надежной сторонней организацией, имеющей полномочия на осуществление сертификации. Эта организация хранит записи о том, кто каким частным ключом владеет, включая соответствующую информацию о владельце, такую как имя, адрес электронной почты и т. п. В настоящее время полномочиями на осуществление подобной сертификации обладает только компания VeriSign - дочерняя фирма RSA Data Security, разработчика открытых/частных ключей.

Чтобы получить сертификат, разработчики направляют информацию о себе в VeriSign вместе с оплатой. Для получения сертификата коммерческого разработчика (Commercial Developer) компания должна платить 400 долл. в год; частные разработчики (Individual Developers) платят 20 долл. в год и должны предоставить только наиболее важную информацию о себе. В любом случае разработчик официально "привязывается" к созданным им управляющим элементам и обещает не разрабатывать "вредных" программ.

Когда VeriSign получает от разработчика необходимую информацию, она выпускает цифровой сертификат, совместимый со стандартом X.509. После этого разработчик может включать свой цифровой сертификат в разработанные управляющие элементы.

В дополнение к сертификату разработчика каждый управляющий элемент ActiveX использует криптографическую подпись. Чтобы предотвратить имитацию или подделку, подписанные управляющие элементы применяют специальный криптографический алгоритм, или хеш-функцию. Используя программный код управляющего элемента, путем сложных вычислений происходит сокращение кода, имеющего переменную длину, до строки фиксированной длины, равной 128 битам. Результат вычислений сложным образом связывается с программным кодом данного управляющего элемента. Этот результат, называемый хеш-функцией, шифруется с помощью частного ключа, формируя цифровую подпись.

Сертификат и подпись передаются отдельно от управляющего элемента пользователям, когда те загружают данный элемент. Пользовательская система дешифрирует всю информацию с помощью открытого ключа. Сертификат сообщает пользователю, кто создал данный элемент; затем система пользователя запускает тот же самый хеш-алгоритм, с помощью которого была создана исходная хеш-функция, и сравнивает результаты. Если код управляющего элемента был изменен, то хеш-функция не совпадет, и пользователь получит уведомление, что либо управляющий элемент был подделан, либо произошла ошибка передачи.

Благодаря системе защиты, реализуемой с помощью Authenticode, пользователь получает достаточную определенность в отношении происхождения управляющего элемента и уверенность в том, что он не был подделан, однако это не может служить безусловной гарантией того, что данный управляющий элемент не создаст проблем у пользователя.

Список литературы

1. Кристиансен Т., Торкингтон Н. Perl: Библиотека программиста :Пер. с англ.- СПб.: Издательство «Питер», 2000. – 736с.: ил.

2. Холзнер Стивен. Perl: специальный справочник :Пер. с анг. – СПб.: Питер, 2000. – 496с.: ил.

3. Хейл, Бернард Ван. JDBC: Java и базы данных :Пер. с англ. М.,1999.-320с.

4. http://www.citforum.ru

5. http://www.xpoint.ru

6. http://www.by.iatp.org.ua

7. http://phpclub.unet.ru

8. http://www.webmasteram.ru

9. http://kek.ksu.ru

10. http://inftech.webservis.ru