Я сделал элемент управления 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", будет ли она перезаписана?
Контроль версий и подпись элемента управления ActiveX
Ответы (1)
Очевидно, что номер версии определяется, чтобы решить, нужно ли повторно загрузить элемент управления. Если номер версии CAB новее, чем у локальной копии, он перезапишет версию в «C: \ Windows \ Downloaded Program Files».
person
Windy
schedule
02.11.2011
От чего зависит версия кабины? Как я могу это увидеть? Идентична ли версия dll внутри? Это версия, указанная в базовом свойстве кода тега объекта в HTML?
- person yonih; 03.11.2011
Кстати, я вижу, что когда я меняю версию в свойстве кодовой базы на -1, -1, -1, -1 или любую версию, которая больше, чем версия dll на клиентском компьютере, появляется приглашение каждое обновление страницы клиента. Когда версия в свойстве кодовой базы равна или ниже, cab не загружается и подсказка отсутствует. Поэтому я хочу посмотреть, получу ли я рабочий процесс: IE сравнивает версию dll на клиентском компьютере с версией, указанной на странице html. Если версия клиента не обновляется, с сервера скачивается cab. В противном случае используется клиентская dll. Правильный?
- person yonih; 03.11.2011