Контроль версий и подпись элемента управления ActiveX

Я сделал элемент управления ActiveX, упакованный как cab, и поместил его на свой веб-сервер. Кабина была снабжена цифровой подписью с фиктивной подписью. На клиентской машине в папке «C: \ Windows \ Downloaded Program Files» я мог найти файлы dll и osd, извлеченные из кабины. Теперь купил настоящий сертификат и подписал им каб на сервере. Когда я вошел в систему как клиент, после установки некоторых параметров безопасности, я ожидал увидеть запрос на загрузку элемента управления ActiveX с моим именем как издателя. Этого не произошло. Затем я пошел в «C: \ Windows \ Downloaded Program Files», удалил файлы dll и osd, которые были извлечены из кабины, снова вошел в систему как клиент, а затем я увидел то, что ожидал увидеть: запрос на загрузку файла Элемент ActiveX с моим именем как издатель. У меня вопрос: почему я не увидел подпись при первом входе в систему? Конечно, файлы dll и osd уже были там, и у dll была такая же версия, но разве тот факт, что кабина была подписана новой подписью и меткой времени, ничего не значит? и еще вопрос - если бы dll внутри кабины имела более новый номер версии, чем та, что находится в "C: \ Windows \ Downloaded Program Files", будет ли она перезаписана?


person yonih    schedule 02.11.2011    source источник


Ответы (1)


Очевидно, что номер версии определяется, чтобы решить, нужно ли повторно загрузить элемент управления. Если номер версии CAB новее, чем у локальной копии, он перезапишет версию в «C: \ Windows \ Downloaded Program Files».

person Windy    schedule 02.11.2011
comment
От чего зависит версия кабины? Как я могу это увидеть? Идентична ли версия dll внутри? Это версия, указанная в базовом свойстве кода тега объекта в HTML? - person yonih; 03.11.2011
comment
Кстати, я вижу, что когда я меняю версию в свойстве кодовой базы на -1, -1, -1, -1 или любую версию, которая больше, чем версия dll на клиентском компьютере, появляется приглашение каждое обновление страницы клиента. Когда версия в свойстве кодовой базы равна или ниже, cab не загружается и подсказка отсутствует. Поэтому я хочу посмотреть, получу ли я рабочий процесс: IE сравнивает версию dll на клиентском компьютере с версией, указанной на странице html. Если версия клиента не обновляется, с сервера скачивается cab. В противном случае используется клиентская dll. Правильный? - person yonih; 03.11.2011