Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Аплеты

div.main {margin-left: 20pt; margin-right: 20pt}Часть 1.

Введение.

Как известно, аплет должен быть подписан, что бы браузер мог проверить его подлинность и в результате понизить секъюрити для этого аплета. В результате чего оны и сможет выполнять операции по печати.

Netscape Communicator 4.04, HotJava 1.1 и Microsoft Internet Explorer напечатают ваш аплет, вместе с окном браузера, если Вы нажмете в браузере пункт меню FILE PRINT. При этом IE4 создаст копию страницы и перегрузит в ней ваш аплет. А это уже не очень хорошо, поскольку эта копия уже не будет отображать реальное состояние вашего аплета, а распечатается его первоначальное состояние. Так же не получится напечатать аплет, если он находится в поп-ап окне.

Если же вам нужно печатать правильно ваш аплет, то уж потрудитесь дочитать эту статью до конца.

Сперва, вам нужно подписать jar файл для Netscape и cab файл для IE4. Утилиты для подписи доступны с http://developer.netscape.com/software/signedobj/jarpack.html и http://developer.netscape.com/software/signedobj/jarpack.html%20and%20http://www.microsoft.com/java/download/dl_sdk2.htm

А вот эта ссылка так же может быть весьма полезной http://support.microsoft.com/support/kb/articles/q179/6/52.asp

Ну а вот это предложение еще лучше http://www.suitable.com/Doc_CodeSigning.shtml

Ваши клиенты использующие IE4, должны, просто обязаны, проапгрейдить JVM, поскольку та машина, что поставляется с IE4.01 (даже с SP1) имеет очень много ошибок в модулях печати.

Когда Вы создаете графический контекст для печати, вы ДОЛЖНЫ инициализировать все его элементы, цвета, шрифты и т.д. Если этого не сделать, то IE будет возвращать исключение NullPointerException.

Внимание: процедуры описанные ниже, это не стандартная техника от JavaSoft. API работают только в Navigator-е. CAB-ы только в Internet Explorer-е. Zigbert создает подписи, которые может прочитать только Navigator. Хотя на сегодняшний момент все могло уже и поменяться (прим. перев.).

Технически, стандарты JavaSoft это стандарты свойств. Sun всегда выпускал стандартную Java. Поэтому с технической точки зрения нет большой разницы между Java от Sun и Java от Microsoft. Многие поэтому спрашивают, а зачем собственно заменять Microsoft Java на Sun Java? Но подождите, Sun играет по своим собственным правилам и вправе эти правила потихоньку расширять, и играет, надо заметить, лучше чем Microsoft. Поэтому даже Netscape планирует слиться с JavaSoft.

HotJava - действительно великолепный браузер (и написанный на Java), реализующий модель безопасности JDK. Если эти компании объединят свои усилии по соединению этих моделей, и Sun создаст один общий стандарт, то все вообще будет замечательно. И смысл этой статьи пропадет. :-)

Подписывание аплета

Вы можете купить объектный сертификат у кого-либо подобного http://www.verisign.com/. Хорошая новость в том, что вам не нужно покупать такой сертификат до последнего момента, пока ваш аплет не будет полностью отлажен. Вы можете указать Netscape Navigator-у, что в таком-то jar-е лежат как-бы подписанные классы. Прочитать об этом можно здесь - http://developer.netscape.com/library/technote/security/sectn2.html. Для Microsoft Internet Explorer-а вы можете подписать CAB файл тестовым сертификатом, посредством makecert (часть Active X SDK), а затем пользователи должны запустить setreg 1 true, что бы IE принимал этот сертификат. Получить же ActiveX SDK можно с http://www.microsoft.com/INTDEV/sdk.

Для Netscape, запакуйте ваши классы в jar файл и подпишите его используя Netscape zigbert. http://developer.netscape.com/software/signedobj/jarpack.html.

Следует заметить, что IE4 может работать с jar файлами, но он наотрез отказывается понимать подписанные jar-ы. Поэтому вам необходимо подписывать CAB файл. Для создания cab-а используйте cabarc из MS JAVA SDK. Получить Miscrosoft Java SDK можно отсюда http://www.microsoft.com/java/download/dl_sdk2.htm. Как только Вы скачаете SDK и документацию к нему, потрудитесь прочитать файл tools/tools000.htm. В нем даны подробные рекомендации по подписыванию cab-ов. Если же Вы ненароком скачали MS Java SDK 2.0, то смотреть нужно файл SDK-Java.20/Docs/sdkjdoc/default.htm. Так же вам потребуется настроить INI файл. Для информации по его настройке смотрите http://www.microsoft.com/java/sdk/20/tools/signcode.htm и http://www.microsoft.com/java/sdk/20/tools/sampleini.htm.

Не забудьте про то, что нужно указать IE на подписанный cab, это можно сделать подобный HTML кодом:

<param name="cabbase" value="signed.cab">

Процесс подписания для Netscape не такой запутанный, поэтому я не будут приводить здесь примеры. Для информации смотрите пример для IE4.

Запрос браузера на печать.

Для того, что бы запросить браузер использовать печать используйте Netscape Capabilities API (оно доступно для скачивания, включая документацию и исходные коды). Подробнее об этом API смотрите здесь http://developer.netscape.com/library/documentation/signedobj/capsapi.html.

Miscosoft в свою очередь не поддерживает программного пути запроса привилегий. Вместо этого, вам нужно будет подписать CAB файл с определенным уровнем безопасности. Для подробностей смотрите Microsoft Trust-Based Security для JAVA http://www.microsoft.com/java/security/secfaq.htm.



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте