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.
Подписване на Java аплети с инструмента keytool<br />
За да повишим правата, с които се изпълнява даден аплет, е необходимо да<br />
го подпишем. Нека разгледаме как става това.<br />
Да предположим, че сме написали кода на даден аплет и след като сме го<br />
компилирали, сме получили файла Applet.jar. Необходимо е да подпишем<br />
този JAR файл.<br />
Можем да използваме за целта програмката jarsigner, която се разпространява<br />
стандартно с JDK 1.4. По подразбиране тя се инсталира в директория<br />
%JAVA_HOME%\bin. Ето един пример за нейното използване:<br />
jarsigner –storetype pkcs12 –keystore keystore.pfx -storepass store_password<br />
–keypass private_key_password Applet.jar signFilesAlias<br />
Посочената команда подписва JAR файла Applet.jar с личния ключ, записан<br />
под име signFilesAlias в хранилището за сертификати и ключове<br />
keystore.pfx като използва пароли за достъп до хранилището и сертификата<br />
съответно store_password и private_key_password.<br />
Програмката jarsigner поддържа два типа хранилища за сертификати и<br />
ключове – Java Key Store (.JKS файлове) и PKCS#12 (.PFX файлове). За да я<br />
използваме, трябва или да имаме сертификат, издаден от някой сертификационен<br />
орган (PFX файл, съдържащ сертификата и съответния му личен<br />
ключ) или трябва да си генерираме саморъчно-подписан сертификат. От JDK<br />
1.5 jarsigner поддържа подписване и със смарт карта.<br />
Генериране на саморъчно подписани сертификати с jarsigner<br />
За да си генерираме саморъчно-подписан (self-signed) сертификат можем да<br />
използваме програмката keytool, която идва стандартно с JDK 1.4.<br />
Ето примерна команда за генериране на саморъчно-подписан сертификат:<br />
keytool -genkey -alias signFiles -keystore SignApplet.jks -keypass !secret -dname<br />
"CN=My Company" -storepass !secret<br />
Посочената команда генерира X.509 сертификат и съответен на него личен<br />
ключ и ги записва под име signFiles в хранилището за ключове и<br />
сертификати SignApplet.jks. В сертификата се записва, че собственикът му<br />
е “My Company”, а за парола за достъп до хранилището и до личния ключ се<br />
използва “!secret”. По подразбиране програмката keytool използва<br />
формата за хранилища JKS (Java Key Store).<br />
Подписване на аплет със саморъчно-подписан сертификат<br />
Можем да използваме генерирания с предходната команда саморъчноподписан<br />
сертификат за да подпишем нашия аплет по следния начин:<br />
jarsigner -keystore SignApplet.jks -storepass !secret -keypass !secret Applet.jar<br />
signFiles<br />
65