24.12.2014 Views

Download - Svetlin Nakov

Download - Svetlin Nakov

Download - Svetlin Nakov

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

За директната проверка на сертификат примерното уеб приложение поддържа<br />

множество от сертификати, на които има доверие и проверява дали<br />

сертификатът на потребителя е директно подписан от някой от тях. Проверява<br />

се и срокът на валидност на сертификата. Доверените сертификати<br />

за директна проверка се съхраняват като .CER файлове в специална<br />

директория на приложението, името на която се указва от константа.<br />

За проверката на сертификационната верига на получения потребителски<br />

сертификат в демонстрационното уеб приложение се използва множество от<br />

доверени Root-сертификати на сертификационни органи от първо ниво. От<br />

това множество се построява съвкупността от крайни точки на доверие (trust<br />

anchors), която е необходима за проверката на сертификационната верига.<br />

Самата проверка на веригата сертификати се извършва по PKIX алгоритъма,<br />

който е реализиран в Java Certification Path API. Доверените Rootсертификати<br />

се съхраняват като .CER файлове в специална директория на<br />

приложението, името на която се указва от константа.<br />

Уеб приложението е базирано на J2EE и Struts<br />

Демонстрационното уеб приложение е базирано на Java технологиите и е<br />

реализирано със средствата на платформата J2EE (Java 2 Enterprise Edition) и<br />

широкоразпространения framework за Java уеб приложения Struts. В<br />

основната си част използва Servlet/JSP технологиите за реализация на<br />

потребителския си интерфейс и следва J2EE стандарта за Java уеб приложения.<br />

За изпълнението си изисква J2EE уеб контейнер, в който да работи.<br />

Struts framework е използван, защото има вградена функционалност за<br />

посрещане на файлове, изпратени от HTML форма, докато такава възможност<br />

стандартно в JSP/Servlets технологията няма.<br />

Приложението се състои две Struts-базирани HTML форми, Struts action клас<br />

за обработка на формите, Struts action form клас за съхранение на данните<br />

от формата, клас за проверка на цифрови подписи и сертификати, страница<br />

за обработка на изпратения подписан файл и няколко конфигурационни<br />

файла.<br />

Заради програмния модел на Struts framework приложението стриктно<br />

следва архитектурата Model-View-Controller (MVC), макар и това да не е<br />

наложително за нашите цели.<br />

Пълният сорс код на системата е достъпен за свободно изтегляне от сайта на<br />

<strong>Nakov</strong>DocumentSigner – http://www.nakov.com/documents-signing/.<br />

Уеб форма за подписване със сертификат от PFX файл<br />

Формата за подписване на файл със сертификат от PKCS#12 хранилище (PFX<br />

файл) се състои от три полета, съответно за името на файла, сертификата и<br />

сигнатурата и съдържа още аплета за подписване и бутон за изпращане на<br />

формата:<br />

112

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!