Download - Svetlin Nakov
Download - Svetlin Nakov
Download - Svetlin Nakov
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Описаният подход не работи винаги, защото в някои уеб браузъри JavaScript<br />
кодът се изпълнява с такива права, че не може да осъществява достъп до<br />
файловата система. Независимо, че аплетът е подписан и може да чете<br />
локални файлове, ако бъде извикан негов метод от JavaScript, този метод ще<br />
работи с намалени права. Това поведение може да е различно при<br />
различните уеб браузъри, но при всички случаи създава неприятности.<br />
3.2.3. Проектиране на аплета за подписване<br />
Нека сега проектираме конкретната функционалност на аплета за подписване<br />
на документи в уеб среда и опишем начинът му на работа.<br />
Подписаният аплет трябва да се извиква директно от потребителя<br />
Поради описаните преди малко проблеми вместо да извикваме Java функция<br />
за подписване на файл от JavaScript, е много по-добре да направим аплетът<br />
да има формата на бутон, който при натискане да подписва избрания от<br />
потребителя файл и да записва изчислената сигнатура в определено поле на<br />
HTML формата.<br />
По желание може да се накара аплетът чрез JavaScript автоматично да<br />
изпраща HTML формата след изчисляване на сигнатурата за да не може<br />
потребителят да промени нещо по тази форма след извършване на подписването.<br />
В такъв случай може да е удобно HTML формата да няма бутон за<br />
изпращане и изпращането й да става единствено от аплета и то само след<br />
успешно подписване. Така потребителят няма да има възможност да изпраща<br />
неподписани или грешно подписани файлове.<br />
Сървърът получава документа, подпис и сертификат<br />
При подписване на документ е необходимо на сървъра да се изпраща не<br />
само документът и изчисления от него цифров подпис, но също и сертификатът,<br />
използван при подписването, придружен от цялата му сертификационна<br />
верига (ако е налична).<br />
Сертификатът е необходим, защото в него се съхранява публичният ключ на<br />
потребителя, извършил подписването, а без него не може да се верифицира<br />
подписът. Освен това сертификатът свързва този публичен ключ с конкретно<br />
лице, извършило подписването.<br />
Ако изпращаме на сървъра само документа, сигнатурата и публичния ключ,<br />
ще можем да проверим валидността на сигнатурата, но няма да имаме<br />
информация кое е лицето, което притежава този публичния ключ, освен ако<br />
сървърът няма някакъв списък от публичните ключове на всички свои<br />
клиенти.<br />
В общия случай най-удобно е на сървъра да се изпраща сертификатът на<br />
потребителя заедно със сертификационната му верига, за да може тя да<br />
бъде верифицирана след като бъде получена.<br />
69