24.12.2014 Views

Download - Svetlin Nakov

Download - Svetlin Nakov

Download - Svetlin Nakov

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Следва извършване на самото подписване на документа с личния ключ,<br />

прочетен от PFX файла. Получената цифрова сигнатура се кодира в текстов<br />

вид с Base64 кодиране. Накрая текстовите стойности на извлечената от PFX<br />

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

определени полета на HTML формата. Имената на тези полета, както и името<br />

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

параметри, подадени на аплета.<br />

За простота се очаква HTML документът, в който е разположен аплетът за<br />

подписване да съдържа точно една HTML форма.<br />

Ако възникване грешка на някоя от описаните стъпки, на потребителя се<br />

показва подходящо съобщение за грешка. Грешка може да възникне при<br />

много ситуации – при невъзможност да бъде прочетен файлът за подписване,<br />

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

формат на PFX файла, при липса на личен ключ, при липса на сертификат,<br />

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

PFX файла, поради грешка при самото подписване на прочетения файл,<br />

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

за достъп до някое поле от формата, което е необходимо, и във всички други<br />

необичайни ситуации.<br />

Диалогът за избор на PFX файл и парола дава възможност за избор само<br />

измежду PFX и P12 файлове. Последният използван PFX файл се запомня<br />

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

директорията на потребителя (user home directory), за да бъде използван<br />

при следващо показване на същия диалог.<br />

Графичният потребителски интерфейс на аплета е базиран на библиотеките<br />

AWT и JFC/Swing, които се доставят стандартно с JDK 1.4.<br />

Реализацията на всички използвани криптографски алгоритми, се осигурява<br />

от доставчика на криптографски услуги по подразбиране SunJSSE, който<br />

също е част от JDK 1.4.<br />

За подписването на файлове се използва алгоритъма за цифрови подписи<br />

SHA1withRSA. Това означава, че за изчисляване на хеш-стойността на<br />

документа се използва алгоритъм SHA1, а за шифрирането на тази хешстойност<br />

и получаване на цифровия подпис се използва алгоритъм RSA.<br />

Алгоритъмът SHA1withRSA е достъпен от Java Cryptography Architecture (JCA)<br />

посредством класа java.security.Signature.<br />

Дължината на ключовете, използвани от RSA алгоритъма зависи от<br />

подадения от потребителя PFX файл и обикновено е 512 или 1024 бита. В<br />

зависимост от дължината на RSA ключа се получава цифрова сигнатура със<br />

същата дължина, обикновено 512 или 1024 бита (64 или 128 байта). След<br />

кодиране с Base64 тази сигнатура се записва съответно с 88 или 172<br />

текстови символа.<br />

Дължината на сертификационната верига зависи от броя сертификати, които<br />

я съставят и от съдържанието на всеки от тези сертификати. Обикновено<br />

89

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

Saved successfully!

Ooh no, something went wrong!