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.
Следва извършване на самото подписване на документа с личния ключ,<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