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.
след кодиране с Base64 тази верига има дължина от 200-300 до 8000-10000<br />
текстови символа.<br />
За осъществяването на достъп до защитеното хранилище за ключове и<br />
сертификати (PFX файла, който потребителят избира) се използва класът<br />
java.security.KeyStore. Аплетът очаква хранилището да бъде във формат<br />
PKCS#12 и да съдържа само един запис (alias), в който са записани личният<br />
ключ на потребителя и сертификационната верига на неговия сертификат. В<br />
частност тази сертификационна верига може да се състои и само от един<br />
сертификат. Аплетът очаква още паролата за достъп до хранилището да<br />
съвпада са паролата за достъп до личния ключ в него.<br />
Компилиране и подписване на аплета<br />
За да работи правилно аплетът, е необходимо той да бъде подписан. За<br />
подписването му може да се използва сертификат, издаден от някой сертификационен<br />
орган (PFX файл) или саморъчно-подписан сертификат. Можем<br />
да използваме следния скрипт за да си генерираме саморъчно-подписан<br />
сертификат:<br />
generate-certificate.bat<br />
del DigitalSignerApplet.jks<br />
keytool -genkey -alias signFiles -keystore DigitalSignerApplet.jks -keypass !secret<br />
-dname "CN=Your Company" -storepass !secret<br />
pause<br />
Резултатът е файлът DigitalSignerApplet.jks, който представлява хранилище<br />
за ключове и сертификати, съдържащо генерирания сертификат и<br />
съответния му личен ключ, записани под име “signFiles”, достъпни с парола<br />
“!secret”. Форматът на изходния файл не е PKCS#12, а JKS (Java KeyStore),<br />
който се използва по подразбиране от програмката keytool.<br />
За компилирането на сорс-кода на аплета, получаването на JAR архив и<br />
подписването на този архив можем да използваме следния скрипт:<br />
build-script.bat<br />
del *.class<br />
javac -classpath .;"%JAVA_HOME%\jre\lib\plugin.jar" *.java<br />
del *.jar<br />
jar -cvf DigitalSignerApplet.jar *.class<br />
jarsigner -keystore DigitalSignerApplet.jks -storepass !secret -keypass !secret<br />
DigitalSignerApplet.jar signFiles<br />
pause<br />
Посочената последователност от команди изтрива всички компилирани<br />
.class файлове, компилира всички .java файлове, които съставят аплета,<br />
пакетира получените .class файлове в JAR архив и подписва този архив с<br />
90