$ 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.