Download - Svetlin Nakov
Download - Svetlin Nakov
Download - Svetlin Nakov
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
- DocumentSigningDemoWebApp – Java-базирано уеб приложение за<br />
посрещане на подписан документ и верификация на неговия цифров<br />
подписи и сертификат. Приложението включва подсистема за верификация<br />
на цифрови подписи, подсистема за директна верификация на<br />
сертификат и подсистема за верификация на сертификационна верига.<br />
От страна на клиента работи стандартен уеб браузър, в който се изпълняват<br />
Java аплети за подписване на документи. Подписаните документи се изпращат<br />
към уеб сървъра чрез стандартна уеб форма по протокол HTTP.<br />
Подписването чрез сертификат от PKCS#12 хранилище и подписването със<br />
смарт карта се реализират поотделно от два различни Java аплета.<br />
От страна на сървъра работи Java-базирано уеб приложение, което посреща<br />
подписаните документи и проверява цифровия им подпис, както и<br />
сертификата, с който са подписани. Ако сертификатът пристига заедно със<br />
сертификационната си верига, тя също се верифицира. Реализирани са два<br />
метода за верификация – директна проверка на сертификат и проверка на<br />
сертификационна верига.<br />
При директната проверка на сертификат се проверява дали сертификатът е<br />
валиден към датата на проверката и дали е подписан (издаден) от някой от<br />
сертификатите, на които сървърът има директно доверие.<br />
При проверката на сертификационната верига даден сертификат се счита за<br />
валиден, ако е валидна веригата му и ако тя завършва с Root-сертификат на<br />
който сървърът има доверие.<br />
Нека сега разгледаме в детайли отделните компоненти на системата.<br />
3.2. Java аплет за подписване на документи<br />
Сега ще разгледаме конкретните проблеми, които възникват при реализацията<br />
на Java аплет, който служи за подписване на документи в клиентския<br />
уеб браузър. Разликата между аплета, който подписва със сертификат,<br />
извлечен от PKCS#12 файл и аплета, който подписва със смарт карта, е<br />
минимална, така че ще разгледаме и двата едновременно.<br />
3.2.1. Подписани Java аплети<br />
Нека разгледаме в детайли технологията на подписаните аплети, защото ще<br />
трябва да я използваме за да повишим правата, с които се изпълнява<br />
нашият аплет.<br />
Необходим е достъп до файловата система<br />
Аплетът, който разработваме, трябва да може да подписва файлове от<br />
локалната машина и следователно трябва да може да ги чете. По принцип<br />
Java аплетите се изпълняват с намалени права и нямат достъп до файловата<br />
система на машината, на която работят. За да се преодолее това<br />
ограничение, е необходимо аплетът да работи с пълни права, а за тази цел<br />
той трябва да бъде подписан.<br />
64