$ keytool -genkey -alias Pici -keysize 1024 Enter keystore password: password What is your first and last name? [Unknown]: Gábor Pécsy What is the name of your organizational unit? [Unknown]: TTK What is the name of your organization? [Unknown]: ELTE What is the name of your City or Locality? [Unknown]: Budapest What is the name of your State or Province? [Unknown]: . What is the two-letter country code for this unit? [Unknown]: HU Is |
$ keytool -certreq -alias pici Enter keystore password: password Enter key password for |
$ keytool -export -rfc -alias pici Enter keystore password: password -----BEGIN CERTIFICATE----- MIIC8jCCArACBDqVWE8wCwYHKoZIzjgEAwUAMF8xCzAJBgNVBAYTAkhVMQowCAYDVQQIEwEuMREw DwYDVQQHEwhCdWRhcGVzdDENMAsGA1UEChMERUxURTEMMAoGA1UECxMDVFRLMRQwEgYDVQQDEwtH oGJvciBQGmNzeTAeFw0wMTAyMjIxODE5NTlaFw0wMTA1MjMxODE5NTlaMF8xCzAJBgNVBAYTAkhV MQowCAYDVQQIEwEuMREwDwYDVQQHEwhCdWRhcGVzdDENMAsGA1UEChMERUxURTEMMAoGA1UECxMD VFRLMRQwEgYDVQQDEwtHoGJvciBQGmNzeTCCAbcwggEsBgcqhkjOOAQBMIIBHwKBgQD9f1OBHXUS KVLfSpwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9jVj6v8X1ujD2y5tVbNeBO4AdNG/yZmC3 a5lQpaSfn+gEexAiwk+7qdf+t8Yb+DtX58aophUPBPuD9tPFHsMCNVQTWhaRMvZ1864rYdcq7/Ii Axmd0UgBxwIVAJdgUI8VIwvMspK5gqLrhAvwWBz1AoGBAPfhoIXWmz3ey7yrXDa4V7l5lK+7+jrq gvlXTAs9B4JnUVlXjrrUWU/mcQcQgYC0SRZxI+hMKBYTt88JMozIpuE8FnqLVHyNKOCjrh4rs6Z1 kW6jfwv6ITVi8ftiegEkO8yk8b6oUZCJqIPf4VrlnwaSi2ZegHtVJWQBTDv+z0kqA4GEAAKBgHbE XS4iyoTyV/CDgFZ1dYN8aMXziMHA3WiJ5+GfutaDYc7NsboLFKTWI/yjQJv+jBMdETguLaacAvYC YXrmLjMw6SWDJIshc0j/bls0DLqOc7QT2TuZl/p8f1/wNUtp9LQjbEjSRrTpZtNY7kaJ0+6ClxAa OrZyL+Upm+bOny4aMAsGByqGSM44BAMFAAMvADAsAhRLdb5NL36VEsLQufzMpl/gCfKJdwIUHVtG PUvAUJfIHHWiJeKSm616CZ0= -----END CERTIFICATE----- |
Ha tanúsítványunk ilyen vagy olyan módon elkészült, nincs más teendőnk, mint nyilvánosságra hozni, hogy leendő aláírt appletjeink felhasználói hozzáférjenek.
.class
fájlt egy JAR (Java Archive) fájlba
kell foglalnunk. Ehhez a jar programot használhatjuk, az
alábbi módon:
$ jar -cvf MyLittleApplet.jar MyLittleApplet.class added manifest adding: MyLittleApplet.class(in = 5327) (out= 2754)(deflated 48%) |
A következő lépés az elkészített JAR archívum aláírása. Ehhez a jarsigner alkalmazást használhatjuk.
$ jarsigner MyLittleApplet.jar pici Enter Passphrase for keystore: password Enter key password for pici: keypassword |
<APPLET ARCHIVE=MyLittleApplet.jar CODE=MyLittleApplet.class HEIGHT=300 WIDTH=450> ALT="A használt böngésző felismerte az <APPLET> tag-et de valamely okból mégsem hajtja végre a megadott applet-et. Ellenőrizze a biztonsági beállítások között, hogy az applet-ek futtatása engedélyezett!" A használt böngésző nem ismeri az <APPLET> tag-et! </applet> |
$ keytool -import -file cert.txt -alias valaki Enter keystore password: password Owner: CN=K?s Elek, OU=A, O=B, L=C, ST=D, C=E Issuer: CN=K?s Elek, OU=A, O=B, L=C, ST=D, C=E Serial number: 3a8bcfa6 Valid from: Thu Feb 15 13:46:30 GMT+01:00 2001 until: Wed May 16 14:46:30 GMT+02:00 2001 Certificate fingerprints: MD5: F6:19:01:72:61:51:CA:3C:33:22:C2:84:DB:DC:88:70 SHA1: E5:B4:0A:AF:C2:B4:AC:71:F6:86:63:E7:68:19:CD:72:CB:9B:11:90 Trust this certificate? [no]: yes Certificate was added to keystore |
-import
parancs kiírja az importálandó tanúsítvány
digitális ujjlenyomatát. Önaláírt tanúsítványok esetén ennek ellenőrzését soha
ne mulasszuk el!
Az importálás sikerességéről meggyőződhetünk a keytool program
-list
parancsával. Az alábbi listában a "Pici" aliasnál találhatjuk
azt a kulcspárat amellyel a CD-n található appletet aláírtam. A bejegyzésnél
található digitális ujjlenyomat a kulcspárhoz tartozó önaláírt tanúsítványé.
Az ujjlenyomat megtalálható a könyvben is, nyomtatott formában, így a CD-re
írt tanúsítvány hitelessége ellenőrizhető.
$ keytool -list Enter keystore password: password Keystore type: jks Keystore provider: SUN Your keystore contains 2 entries: valaki, Thu Feb 22 19:39:46 GMT+01:00 2001, trustedCertEntry, Certificate fingerprint (MD5): F6:19:01:72:61:51:CA:3C:33:22:C2:84:DB:DC:88:70 pici, Thu Feb 22 19:20:05 GMT+01:00 2001, keyEntry, Certificate fingerprint (MD5): B7:DF:B1:92:A1:E7:B7:54:E9:C5:F9:BB:62:33:9C:61 |
/* AUTOMATICALLY GENERATED ON Sat Feb 24 12:42:20 GMT+01:00 2001*/ /* DO NOT EDIT */ keystore ".keystore"; grant signedBy "pici", codeBase "file://C|/phd/java/security/sample/-" { permission java.io.FilePermission "\\tmp\\-", "read, write, delete, execute"; permission java.io.FilePermission "\\Phd\\-", "read"; }; |
codeBase
tag értéke egy URL, így
itt az alkönyvtárak elválasztására a / karaktert használtam, ám a
jogosultság megadásakor már a konkrét rendszerben érvényes fájlelválasztó
karaktert kell használni, azaz a konkrét példában a \-t.
Ha a szabályzatfájlt megfelelően kiegészítettük, nincs más hátra mint kipróbálni az appletet. Figyelem, a fenti szabályzatfájl csak akkor fejti ki hatását, ha az applet futtatására az appletviewer-t használjuk! Más böngészők esetében a jogosultságok biztosítása másként történik, erről leírást az adott böngésző dokumentációjában találhatunk.