Prevođenje i instalacija pametne zdravstvene
iskaznice
1. Prevođenje i instalacija appleta
pametne zdravstvene iskaznice
Za
prevođenje appleta pametne zdravstvene iskaznice potreban je Java
SDK 1.3. (http://java.sun.com/)
Prevođenje appleta pametne zdravstvene
iskaznice sastoji se od niza jednostavnih koraka:
- prevođenje izvornog koda, *.java datoteke, u Java Byte
kod, *.class datoteke, pomoću Java prevoditelja (javac).
Za prevođenje potrebna je JAR
(engl. Java Archive) arhiva koja sadrži javacardx.crypto,
javacard.security
i javacard.framework
pakete . Za potrebe razvoja pametne zdravstvene iskaznice korišten je “jc_api_212.jar”
koji dolazi sa “Schlumberger Smart Card Toolkit 4.5.16”. Prevođenje se
obavlja sljedećom naredbom:
javac -d bin\ -classpath
"jc_api_212.jar"
src\hr\fer\zemris\diplomski\pametnaZdravstvenaIskaznica\*.java
-
Pomoću Java Card prevoditelja
stvoriti CAP datoteku pogodnu za učitavanje na pametnu karticu. Za
potrebe razvoja pametne zdravstvene iskaznice korišten je
“Schlumbreger Java Card 2.1 Program File Generator” koji stvara IJC (engl. interoperable
javacard CAP) datoteke.
-
Snimanje CAP
dototeka na pametnu karticu. Za potrebe razvoja pametne zdravstvene
iskaznice korišten je “Schlumberger Access Toolkit 4.5.”.
-
Instalacija appleta
(stvaranje primjerka kartične aplikacije) na samoj pametnoj kartici. Za
potrebe razvoja pametne zdravstvene iskaznice korišten je “Schlumberger
Access Toolkit 4.5.”.
2. Prevođenje terminala pametne
zdravstvene iskaznice
Za prevođenje
terminala pametne zdravstvene iskaznice korištena je Java SDK 1.4.
Prevođenje
terminala pametne zdravstvene iskaznice ne razlikuje se od prevođenja
ostalih Java aplikacija. Da bi prevođenje bilo uspješno Java prevoditelj
treba moći pristupiti sljedećim JAR datotekama:
-
base-core.jar
i base-opt.jar
koji su dio OCF-a,
-
javacardframework.jar
koji je dio Java Card 2.2.1 Developement Kit-a,
-
tpzi.jar
koji sadrži neke razrede appleta pametne zdravstvene iskaznice (SuceljeSigurnosti
i SuceljePZI).
Prevođenje
se izvodi sljedećom naredbom:
javac -d bin/ -classpath
"$CLASSPATH:
$OCF_HOME/lib/base-core.jar:
$OCF_HOME/lib/base-opt.jar:
$JC_HOME/lib/javacardframework.jar:
tpzi.jar"
src/hr/fer/zemris/diplomski/terminalPZI/*.java
javac -d bin\ -classpath "%CLASSPATH%;
%OCF_HOME%\lib\base-core.jar;
%OCF_HOME%\lib\base-opt.jar;
%JC_HOME%\lib\javacardframework.jar;
tpzi.jar"
src\hr\fer\zemris\diplomski\terminalPZI\*.java
Pokretanje pametne zdravstvene iskaznice
Pokretanje terminala pametne
zdravstvene iskaznice
Za pokretanje terminala pametne zdravstvene iskaznice potrebna je Java
RE 1.4.
Da bi se terminal pametne zdravstvene
iskaznice mogao pokrenuti Java VM mora moći doći do sljedećih arhiva:
-
base-core.jar
i base-opt.jar
koji su dio OCF-a,
-
tpzi.jar
koji sadrže neke razrede appleta pametne zdravstvene iskaznice (SuceljeSigurnosti
i SuceljePZI)
i sve razrede terminala pametne zdravstvene iskaznice.
Pokretanje se izvodi sljedećom naredbom:
java -classpath "$CLASSPATH:
$OCF_HOME/lib/base-core.jar:
$OCF_HOME/lib/base-opt.jar:
tpzi.jar"
hr.fer.zemris.diplomski.terminalPZI.Terminal
java
-classpath "%CLASSPATH%;
%OCF_HOME%\lib\base-core.jar;
%OCF_HOME%\lib\base-opt.jar;
tpzi.jar"
hr.fer.zemris.diplomski.terminalPZI.Terminal
Da bi se
terminal mogao pokretnuti potrebno je presnimit “java.policy” datoteku (može se
pronaći na http://java.sun.com/products.jce.index-14.html)
i instalirati davatelja kriptografskih usluga (engl. Java
Cryptography Extension -JCE) koji podržava ISO7816-4 način nadopune
(engl.padding) i RSA algoritam.
Generiranje
X.509 digitalnih certifikata pomoću alata "openssl"
1. Generiranje samopotpisanog digitalnog certifikata
certifikacijskog centra (engl. Certificate Authority - CA)
openssl req
-x509 -outform PEM -sha1 -nodes -days 365 -newkey rsa:1024 -keyout
Kd_CA.pem -out CER_CA_CA.pem
POZOR:
Generirani digitalni certifikat biti ce u ASN.1 DER, PKCS#10 formatu zapisan u Base64
formatu. Generirani privatni ključ je u tradicionalnom formatu zapisan u
Base64 formatu.
2.
Izdavanje X.509 digitalnog certifikata korisnika od strane CA
openssl req
-outform PEM -sha1 -nodes -days 365 -newkey rsa:1024 -keyout Kd_USER.pem
-out CER_USER_CA_REQ.pem
openssl x509
-inform PEM -outform PEM -in CER_USER_CA_REQ.pem -out CER_USER_CA.pem
-sha1 -days 365 -req -CA CER_CA_CA.pem -CAkey Kd_CA.pem -CAcreateserial
rm -f
CER_USER_CA_REQ.pem
POZOR:
Generirani digitalni certifikat biti ce u ASN.1 DER, PKCS#10 formatu zapisan u Base64
formatu. Generirani privatni ključ je u tradicionalnom formatu zapisan u
Base64 formatu.
3.
Pretvorba ranije generiranih privatnih ključeva u binarni nekriptirani
PKCS#8
format
openssl pkcs8
-topk8 -inform PEM -outform DER -in Kd_X.pem -out Kd_X_PKCS8.der
-nocrypt