IZENPEren sinatzeko eta zifratzeko applet-a

IZENPEren sinatzeko eta zifratzeko
applet-a
EDUKIEN AURKIBIDEA
GARAPENAREN DESKRIBAPENA ...........................................................................................3
1.1 Garatutako osagaiak ............................................................................................................ 3
1.2 Erabilitako liburutegien lizentzia ......................................................................................... 3
1.3 Funtzionaltasun nagusia ...................................................................................................... 4
Instalatzeko eskakizunak ............................................................................................................... 8
SINADURA LOKALERAKO APIA .............................................................................................9
1.4
1.5
1.6
1.7
1.8
ID@ZKI skin edo gaiak........................................................................................................ 10
API ID@ZKIren metodo komunak ...................................................................................... 11
Web-orri batetik erabiltzea (Applet-a) .............................................................................. 30
Windows aplikazio batetik DLLaren bitartez erabiltzea (dllwrapper) ............................... 33
Windows inguruneko aplikazio batetik SOAP bidez erabiltzea ......................................... 35
APIAREN ADIBIDEAK .......................................................................................................... 37
1.9 Applet-a/JavaScript ............................................................................................................ 37
1.10 DLL (C++ lengoaian, DLLWrapper bidez) .......................................................................... 41
MAHAIGAINEKO APLIKAZIOA ............................................................................................. 43
1.11
1.12
1.13
1.14
Instalatzea / desinstalatzea ............................................................................................. 43
Aplikazioa erregistratzeko prozedura .............................................................................. 47
Aplikazioaren erabilera .................................................................................................... 50
Alderdi teknikoak ............................................................................................................. 56
ALDAKETEN KONTROLA ..................................................................................................... 58
Garapenaren deskribapena
1.1 Garatutako osagaiak
Applet-a: nabigatzaile baten barruan integratu ahal izateko applet itxura duen Java
aplikazio bat da, elektronikoki sinatzeko, zifratzeko eta TIES kodea lortzeko
funtzionaltasuna duena. Funtzionaltasun hori 2. kapituluan zehazten da.
Mahaigaineko sinaduraren aplikazioa, instalagarriekin: osagai hau Java aplikazio
bat izango da, sinadura elektronikoko oinarrizko eragiketak nabigatzailerik gabe
egiteko aukera emango duena. Funtzionaltasun hori 3. kapituluan zehazten da.
Mahaigaineko sinaduraren aplikazioak Windows, Linux eta OSX sistemetarako
instalagarri bat dakar.
WebService/SOAP, DLL espezifiko baten bidez eskura daitekeena: AXIS2
aplikazioen zerbitzari baten multzoa da, sinadura lokaleko zerbitzuak eskaintzen
dituena, DLL batetik eskura daitekeena. Zerbitzaria eskuz edo DLLaren bidez abiaraz
daiteke. Windows sistemetarako besterik ez.
Proba sortak: garapenaren balioduntasuna egiaztatzeko hainbat proba sorta daude.
Proba sortak 2 motakoak dira:
o Sortutako sinadurak baliozkotzeko probak (Z@IN-en kontra).
o Sistema eragileekiko bateragarritasun-probak.
Dokumentazioa: dokumentazio hau.
1.2 Erabilitako liburutegien lizentzia
Erabilitako liburutegiak eta lizentziak honako hauek dira:
iText 2.1.7: MPL eta LPGL.
Bouncycastle 1.43-jdk1.6: MIT X11 License.
Apache XMLSEC 13.0: Apache License.
Apache Xalan j_2_7_0: Apache License.
Apache Xerces j_2_7_0: Apache License.
1.3 Funtzionaltasun nagusia
1.3.1
Applet-ean eta
nabigatzaileak
mahaigaineko
aplikazioan
onartutako
sistema
eragileak
Nabigatzaileen / sistema eragileen konbinazio hauek onartzen dira:
IE6
W2000
WXP
WV32
WV64
W7
UBU804
OSUSE10
FEDCOR9
FEDCOR11
OSX106INT
OSX105INT
OSX104INT
IE7
IE8/9
FF3+
CSTORE
CSTORE
CSTORE
CSTORE
CSTORE
CSTORE
CSTORE
CSTORE
CSTORE
CSTORE
SAF
CSTORE
CSTORE
P11/P12
P11/P12
P11/P12
P11/P12
P11/P12
P11/P12
P11/P12
IE6 = Internet Explorer 6 / IE7 = Internet Explorer 7 / IE8/9 = Internet Explorer 8 eta 9 / FF3+ = Firefox 3 edo berriagoak /
SAF=Safari 4 / W2000 = Windows 2000 / WXP = Windows XP / WV32 = Windows Vista 32 bit / WV64 = Windows Vista 64 bit /
W7 = Windows 7 /UBU804 = Ubuntu 8.04 LTS / OSUSE10 = OpenSuse 10 / FEDCOR9 = Fedora Core 9 / / FEDCOR9 = Fedora
Core 11 / OSX106INT = OS X 10.6 Intel / OSX105INT = OS X 10.5 Intel / OSX104INT = OSX 10.4 Intel / P11 = PKCS#11-rako
euskarria / P12 = PKCS#12-rako euskarria / CSTORE = Windows-en biltegi kriptografikorako euskarria
/
1.3.2
Inplementatutako primitibo kriptografikoak
Sinadura elektronikoa honako formatu hauekin:
o XMLDSig/XAdES (BES, EPES, T, C1, XL) enveloping/enveloped/detached.
Paraleloko multisinadura (enveloping sinaduretarako) eta kontrasinadura
(enveloped sinaduretarako) onartzen ditu2.
o CMS/CAdES (BES, EPES, T, C) attached/detached. Paraleloko multisinadura eta
kontrasinadura onartzen ditu (kontrasinadurak ez ditu onartzen paraleloko
multisinaduran) attached moduan. CMS dettached multisinadura.
o XMLDSig enveloping/enveloped/detached. Multisinadura onartzen du.
o PDF3 (denbora-zigiluarekin eta gabe).
CMS attached eta dettached formaturako sinadura egiaztatzea.
PKCS#11-rako, PKCS#12-rako eta Windows-en biltegi kriptografikorako euskarria.
SHA-1 eta SHA-256 laburpen-kalkulua.
Ziurtagiriak IZENPEren OCSParen kontra baliozkotzea4.
Denbora IZENPEren TSAren kontra zigilatzea.
3DES-CBC zifratzea/deszifratzea pasahitzarekin.
Ziurtagiriak biltegi kriptografikoetan bilatzea.
1
XAdES-C eta CAdES-C motetarako Izenperen OCSP erantzuna besterik ez da gehituko.
2
Dokumentu bati sinadura gehitu baino lehen, dauden sinaduren balioduntasun kriptografikoa
egiaztatuko da.
3
4
Ez da babestutako PDFrik onartzen, ezta XFA inprimakiak dituen PDFrik ere.
Sinatzen den bakoitzean, lehenago ziurtagiria ezeztatuta edo etenda ez dagoela egiaztatuko da.
1.3.3
Onartutako sinadura-formatuak
Hurrengo taulan ikus daiteke applet-aren bertsio bakoitzerako onartutako sinaduren zerrenda.
1.0
1.0.1
XAdES-BES
XAdES-EPES
XAdES-T
XAdES-C
XAdES-X
XAdES-XL
XAdES-A
XAdES-Enveloped
XAdES-Enveloping
XAdES-Detached
CAdES-BES
CAdES-EPES
CAdES-T
CAdES-C
CAdES-X
CAdES-XL
CAdES-A
CAdES-Atached
CAdES-Detached
PDF
PDF denbora-zigiluarekin
1.1
1.2
Applet-aren bertsioa
1.3 1.3.1 1.4 1.4.1 1.4.8 1.5.1 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8+
1.3.4
Onartutako gailuak
Windows
Txartela
Mota
Oharrak
CAPI
CAPI
NANe
pkcs11
Izenpe
pkcs11
Izenpe
pkcs11
Modu lehenetsian sistema hau erabiltzen da.
Beraz, CAPIrekin integratzen diren txartel
guztiak onartzen dira.
Bide-izena:
“c:\\windows\\system32\\UsrPkcs11.dll;"
Bide-izena:
“c:\\windows\\system32\\aetpkss1.dll”
Bide-izena:
“c:\\windows\\system32\\bit4ipki.dll”
Linux
Txartela
Mota
Oharrak
NANe (Izenperen driver-a)
pkcs11
Izenpe
pkcs11
Opensc
pkcs11
Bide-izenak:
"/usr/lib/dniepkcs11.so"
"/usr/lib64/dniepkcs11.so"
Bide-izenak:
“/usr/lib/libbit4ipki.so”
“/usr/lib64/libbit4ipki.so"
Bide-izena:
/usr/lib/opensc-pkcs11.so;
Mac
Txartela
Mota
Oharrak
Izenpe
pkcs11
Opensc
pkcs11
Bide-izena:
“/System/Library/Izenpe/pkcs11/libbit4ipki.dylib”
Bide-izena:
“/Library/OpenSC/lib/opensc-pkcs11.so"
Instalatzeko eskakizunak
1.3.5
Applet-a / Mahaigaineko aplikazioa
Java SUN 1.6+ instalatuta izatea (1.5+ OSX-en kasuan).
JCE
Unlimited
Strength
Jurisdiction
Policy
Files
instalatuta
izatea.
Pakete hau Java SE plataformaren osagai gehigarri gisa eskaintzen da.
Gailu kriptografikoak instalatuta izatea, erabili nahi badira.
IZENPEren TSAren eta OCSParen URLetarako sarbidea izatea.
Java plugin-aren kontrol-panelean behar adina memoria ezarrita izatea (konfiguratzeko
parametroa: -Xmx1024m)5.
1.3.6
Sinatzeko WSa, DLLrako euskarriarekin
Ez da inongo eskakizunik behar, zerbitzariak Java bertsio propioa du-eta.
5
da.
Fedora-ren kasuan, $JAVA_HOME barruan ‘bin’ karpetan dagoen ControlPanel izeneko exekutagarri bat
Sinadura lokalerako APIa
Aplikazioek beren prozesuetan sinadura elektronikoa behar bezala integratzeko aukera izan
dezaten, ID@ZKIk hainbat teknologiatarako API komuna eskaintzen du. Horri esker,
funtzionaltasunak bateratu egin daitezke.
Gaur egun ID@ZKIk hiru modu eskaintzen ditu sinadura lokaleko zerbitzuak eskuratzeko:
WEB aplikazioetan, JavaScript-etik deitutako applet baten bitartez.
Windows aplikazio generikoetan, DLL baten bitartez.
Windows aplikazio generikoetan, SOAP zerbitzari baten bitartez.
Eragiketa horiek egin ahal izateko honako arkitektura hau erabili da:
WINAPPS
DLL
WEBAPPS
Applet-a
(IZENPELIB)
Nabigatzailea
JAVA 1.6 SO
SINADURA LOKALEKO SOAP
(https://127.0.1.18080)
+ IZENPELIB
AXIS2
WS zerbitzaria
JAVA 1.6 espezifikoa
Eskeman agertzen diren osagaiak honako hauek dira:
WEBAPPS: WEB aplikazioak. Bezero-zatian (JavaScript) applet-aren funtzioei deitzen
diete.
Nabigatzailea: Internet Explorer, Firefox edo Safari; HTML bidez kargatzen dute
applet-a.
Java 1.6 SO: Sistema eragilean instalatutako Java.
Applet-a: JavaScript-etik dei daitezkeen funtzioak dauzkan .jar fitxategi bat da. JAR
fitxategi horrek dauzka Izenpelib liburutegiak.
WINAPPS: Sinadura lokaleko zerbitzaria erabiltzen duten Windows aplikazioak dira.
Zuzenean erabil ditzakete SOAP deiak edo, bestela, DLL baten bitartez egin.
SINADURA LOKALEKO SOAP: Sinadura lokaleko eragiketak SOAP protokoloaren bitartez
egiteko erabilgarri dagoen zerbitzua da. IzenpeLib liburutegia erabiltzen du.
AXIS2: WS SOAP maneiatzeko ahalmena eskaintzen duen aplikazio-zerbitzaria da.
Java 1.6 espezifikoa: Sinadura lokaleko zerbitzuen banaketak Java-ren bertsio propioa
dauka bere baitan, zerbitzuak ingurune heterogeneoetan instalatu ahal izateko.
1.4 ID@ZKI skin edo gaiak
Skin edo gaiek aukera ematen dute applet-aren ondorengo osagaiak applet-a bera aldatu gabe
ordezkatzeko. Skin-paketeak honako hauek ditu:
I18n.properties: lokalizazio-fitxategia; bertan definitzen dira applet-ak erabilgarri
dagoen hizkuntza bakoitzerako (ES, EU) bistaratu beharreko literalak.
izenpelogo.jpg: applet-aren goiburuko irudia.
Paketea applet-a kargatzen den bide-izen berean sartu behar da, baina hura baino lehen,
ordezkatzea behartzeko.
Ordezkatze hori funtzionala da applet-aren edozein erabileratarako, baina web eta dll
bertsioetan baino ez da probatu.
Esate baterako, web inguruneetan honako hau izango litzateke karga:
<applet
code="izenpe.app.applet.AppletApplication.class"
archive="../applet-skins/biscaytik-skin.jar, ../applet/1.7/izenpesigner-applet.jar" MAYSCRIPT id="applet"
width="1" height="1">
1.5 API ID@ZKIren metodo komunak
1.5.1
getLastError
Gertatutako azken errorea berreskuratzeko aukera ematen du.
DEIAREN FORMATUA
TestuKatea getLastError()
ITZULERA
Gertatutako azken errorearen mnemonikoa
Errorearen mnemonikoa
ERR_INCORRECTPPASSWORD
ERR_PIN_LOCKED
ERR_BADPASSWORDORCORRUPTFILE
ERR_CANNOTOPENFILE_FILENAME
ERR_CANCELEDBYUSER
ERR_CANNOTUSEPKCS12_FILENAME
ERR_CANNOTUSEPKCS11_FILENAME
ERR_CANNOTUSESYSTEMCRYPTOSTORE
ERR_INVALIDPARAMETERS_PARAMETERS
ERR_INVALIDADESLEVEL_PARAMETERS
ERR_INVALIDSIGNATUREOPERATION_PARAMETERS
ERR_CANNOTCREATESIGNATURE
ERR_CANNOTCIPHERDOCUMENT
ERR_CANNOTDECIPHERDOCUMENT
ERR_NOCERTIFICATESFORSIGN
ERR_SHOULDINSTALLJREPOLICYFILES
ERR_PASSWORDSDOESNOTMATCH
ERR_BROWSERNOTFOUNDGOTOPAGE_URL
ERR_BADPASSWORDORCORRUPTFILE
ERR_CANNOTRETRIEVETIESPUBLIC
ERR_INTERNALERROR
ERR_SELECTEDCERTIFICATEISREVOKED
ERR_CANNOTCREATETIMETSAMP
ERR_CANNOTSIGNPROTECTEDPDF
ERR_CANNOTLOADCONFIG
ERR_CANNOTFINDTIESCARD
Okerreko PINa. Hiru saio jarraian eginez gero txartela
blokeatu egingo da.
Txartela blokeatuta dago.
Pasahitza ez da zuzena edo fitxategia hondatuta
dago.
Ezin izan da fitxategi bat ireki
Erabiltzaileak ezeztatu egin du eragiketa
Ezin izan da PKCS#12 bat ireki
Ezin izan da PKCS#11 bat erabili
Ezin izan da Windows-en biltegi kriptografikoa erabili.
Parametro baliogabeak pasatu zaizkio dei bati.
AdES maila bat gaizki zehaztu da
Parametro baliogabeak pasatu zaizkio sinadura-dei
bati.
Ezin izan da sinadura sortu.
Ezin izan da dokumentu bat zifratu.
Ezin izan da dokumentu bat deszifratu.
Ez da sinatzeko ziurtagiririk aurkitu.
Sun JCE instalatu gabe daude.
Huts egin du pasahitza egiaztatzeak.
Ezin izan da web-nabigatzaile bat ireki.
Ezin izan da fitxategi bat deszifratu, pasahitza
okerrekoa zelako edo fitxategia hondatuta zegoelako.
Ezin izan da TIES kodea berreskuratu
Barne-errore bat gertatu da.
Hautatutako ziurtagiria ezeztatuta dago.
Ezin izan da denbora-zigilu bat sortu.
Ezin da babestutako PDF bat sinatu.
Ezin izan da konfigurazioa irakurri.
Ezin izan da TIES kodea berreskuratu
ERR_INVALIDVERIFYOPERATION_PARAMETERS
ERR_CANNOTVERIFYDOCUMENT
ERR_NOFILESSELECTED
ERR_INVALIDVERIFYOPERATION_PARAMETERS
1.5.2
Sinadura egiaztatzeko eragiketarako parametro
baliogabeak
Ezin izan da dokumentu baten sinadura egiaztatu
Ez da fitxategirik hautatu.
Errorea sinadura egiaztatzeko dei-parametroetan.
setOption
Applet-aren portaeraren aukera generiko bat ezartzen du.
DEIAREN FORMATUA
setOption(TestuKatea key, TestuKatea value)
PARAMETROAK
key: gakoa
value: balioa
Aukera hauek eskaintzen ditu:
Gakoa
Funtzionaltasuna
crypto-winusepkcs11
Zehazten du Windows-ek lehenago probatu behar duen
PKCS#11 erabiltzea Windows-en CSP erabili beharrean.
crypto-pkcs11libs
Kargatzen ahalegintzen diren PKCS#11 liburutegien
zerrenda zehazten du, puntu eta komaz bereizita. Zerrenda
lehenetsia honako hau da:
“aetpkss1.dll;UsrPkcs11.dll;/usr/lib/opensc-pkcs11.so”
timestamp-url
Data-zigiluaren zerbitzariaren URLa
timestamp-policyoid
Data-zigiluaren zerbitzariaren eskatutako politikaren OIDa
timestamp-hashalgo
Data-zigiluaren hash algoritmoa (SHA-1 edo SHA-256)
signature-hashalgo
Sinatzeko applet-a
signature-signerrole
Sinatzailearen eginkizuna CAdES/XAdES sinaduretan
6
ades-add-policy
“1” baldin eta politika CAdES/XAdES motako sinadurei
gehitu behar bazaie.
xades-signature-policy-id-identifier
XAdES politikaren identifikatzailea
xades-signature-policy-id-description XAdES politikaren deskribapena
xades-signature-policy-hash
XAdES sinaduretarako politikaren hash-a
xades-signature-policy-hashalgo
XAdES sinaduretarako politikaren hash algoritmoa
xades-signature-policy-qualifier-url
XAdES sinaduretarako EPES politikaren URLa
6
Aukera honen balioa “1” bada, parametro hauek ezarri beharko dira: xades-signature* XAdES motetarako
edo cades-signature* CAdES motetarako. Bi sinaduretan, Izenpek balio lehenetsiak esleituko ditu.
xades-node-to-sign-name
xades-node-to-sign-root
cades-signature-policy-oid
cades-signature-policy-hash
cades-signature-policy-hashalgo
pdf-signature-llx
pdf-signature-lly
pdf-signature-urx
pdf-signature-ury
pdf-signature-page
pdf-signature-reason
pdf-signature-location
pdf-signature-image
va-universal-ocsp-url
lang
dlgcertsel-certfilter
dlgcertsel-selectfirst
dlgcertsel-checkocsp
dlgcertsel-enableocsp
7
8
Sinatu beharreko nodoaren IDa. Enveloping sinaduretarako
bakarrik balio du. Enveloped sinaduretarako helburu bera
duen metodo espezifiko bat dago
(signXAdESEnvelopedSelectNode).
‘true’ enveloping sinaduretan dokumentuaren erroko
nodoa bera sinatzeko; bestela, nodo edukitzaile bat
sinatzen da (ds:Object). Aukera hau erabiltzeko beharbeharrezkoa da dokumentuaren erroko nodoak Id atributu
bat edukitzea. „xades-node-to-sign-name‟
propietatea erabiltzen bada, propietate hau ez da kontuan
hartzen. Enveloping sinaduretarako bakarrik balio du.
Propietate honen balio lehenetsia ‘false’ da.
CAdES sinaduretarako politikaren OIDa
CAdES sinaduretarako EPES politikaren hash-a
CAdES sinaduretarako politikaren hash algoritmoa
PDF sinadura bistaratzeko X0 posizioa
PDF sinadura bistaratzeko Y0 posizioa
PDF sinadura bistaratzeko X1 posizioa
PDF sinadura bistaratzeko Y1 posizioa
PDF sinaduraren orrialdea, … -2=azken-hirugarrena, 1=azken-aurrena, 0=azkena, 1=lehena, 2=bigarrena…
PDF sinaduraren arrazoia
Sinaduraren lekua
Definituta badago, PDF formatuetako sinadurarako irudi
grafikoa zehazten du. Fitxategi baten kokapena (adibidez
c:/temp/firma.gif) edo URL bat (http:// edo https:// )
zehatz daiteke.
Ziurtagiri mota guztientzako OCSP baliozkotzailearen URLa
Hizkuntza ( ‘0’ gaztelaniaz, ‘1’ euskaraz)
Ziurtagiriak hautatzeko elkarrizketa-koadrotik hautatu ahal
izango diren ziurtagirien zerrendarako iragazkia zehazten
du. Onartutako politiken zerrendaren bidez zehatz daiteke,
7
“policy=oid,oid,…” katearen bitartez , edo bestela,
ziurtagiri jakin batzuk zehaztu 'fingerprint sha-1'en bidez,
8
“sha1thumb=thumb1,thumb2,…” katearen bitartez .
Balioa "1" bada, sinatzeko ziurtagiri bat besterik ez badago,
automatikoki hautatuko du, ziurtagiria hautatzeko leihoa
bistaratu gabe.
Sinatzeko prozesurako hautatutako ziurtagiriaren
ezeztatze-egoera egiaztatzeko ezintasunaren abisua ez du
bistaratzen.
Ziurtagiri sinatzailearen ezeztatze-egoera egiaztatzea
desgaitzeko aukera ematen du. Balioa ‘0’ bada, ez da OCSP
deia egiten. Aitzitik, balioa ‘1’ bada (balio lehenetsia), deia
Esate baterako “policy=1.3.6.1.4.1.14777.104.3, 1.3.6.1.4.1.14777.104.4”
Esate baterako “sha1thumb=782f84c6270ab21166c3d797140d495b7245f0a8”
dlgsign-show
proxy
signature-dettached-ref-uri
signature-dettached-ref-type
hash-canonizexmlwithcomments
1.5.3
egiten da.
Balioa "1" ez bada, ez du ez ziurtagiriari ez sinatu
beharreko elementuei buruzko informaziorik bistaratzen.
Proxy-a erabili nahi den zehazten du. Zehaztu
<server>:<port> edo
<server>:<port>:<usr>:<passwd> autentifikazioa
erabili nahi baduzu. Kate huts batek zehazten du ez duzula
proxy-rik erabili nahi.
Sinatu beharreko dokumentuaren URIa zehazten du xades
dettached sinaduretan.
Sinatu beharreko dokumentu mota zehazten du xades
dettached sinaduretan.
“signature-canonizexmlwithcomments” parametroak
bezala funtzionatzen du, baina kasu honetan xades
dettached sinaduretan kanpoko hash-a kalkulatzeko
erabilitako kanonizazio-metodoari egiten dio erreferentzia.
XML ez diren sarrerako sinaduretan erabili behar da.
getOption
Aukera generiko baten balioa berreskuratzeko aukera ematen du.
DEIAREN FORMATUA
TestuKatea getOption(TestuKatea key)
PARAMETROAK
key: gakoa (setOption-en definitutako berberak)
ITZULERA
Balioaren testua.
1.5.4
getFileInfo
Fitxategi bati buruzko informazioa berreskuratzen du.
DEIAREN FORMATUA
TestuKatea getFileInfo(TestuKatea fileName, TestuKatea what)
PARAMETROAK
fileName: informazioa berreskuratuko den fitxategiaren izena
what: berreskuratu nahi den informazio mota. Onartzen den aukera bakarra “size” da.
ITZULERA
what parametroa
Itzulera
what
Fitxategiaren tamaina. -1 existitzen ez bada
ADIBIDEA
c:/foo.txt fitxategiaren tamaina pantailan lortzeko:
applet.getFileInfo(“c:/foo.txt”,”size”);
1.5.5
setCryptoStoreAuto
Honako logika hau ezartzen du ziurtagiriak hautatzeko:
Windows sistemetan:
1. crypto-winusepkcs11 parametroa definituta baldin badago, PKCS#11 interfazea
duten gailu kriptografiko guztietan irakurtzen ahalegintzen da.
2. Gainera, Windows-en biltegi kriptografikoan instalatutako ziurtagiriak bilatzen
ditu.
Windows ez diren sistemetan:
1. PKCS#11 interfazea duten gailu kriptografiko guztietan irakurtzen ahalegintzen
da.
2. Ziurtagiririk aurkitzen ez badu, PKCS#12 gako-fitxategi bat erabili nahi den
galdetzen du.
Aurkitutako ziurtagirien zerrenda erakusten dio erabiltzaileari, hark hautatzeko.
Oharra: kontsultatu dlgcertsel* parametroak setOption()-en, elkarrizketa-koadroaren
portaera pertsonalizatzeko.
DEIAREN FORMATUA
Boolearra setCryptoStoreAuto()
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
** Callback (atzeradeia) funtzioen parametrizazioa: 1.7.0 bertsiotik aurrera, metodo honek
aukera ematen du erantzuna ok/error (ongi/errorea) erantzuneko atzeradeietara
birbideratzeko.
DEIAREN FORMATUA
Boolearra setCryptoStoreAuto (String successCallback, String
errorCallback)
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
CALLBACK FUNTZIOEN PARAMETROAK
successCallback: parametrorik gabe
errorCallback: errore-mezua
1.5.6
addInput
Sinatzeko, attached sinadurak egiaztatzeko, zifratzeko edo hash-a kalkulatzeko osagai bat
gehitzen du.
DEIAREN FORMATUA
Boolearra addInput(TestuKatea
outtype, TestuKatea out)
PARAMETROAK
intype: sarrera mota
in: sarrera
outtype: irteera mota
out: irteera
intype,
TestuKatea
in,
TestuKatea
Honako sarrera mota (intype) hauek onartzen dira:
Mota
file
folder
inline-hash
inline-binary
inline-text
'in' parametroak fitxategi baten izena eduki behar du
'in' parametroak direktorio baten izena eduki behar du
'in' parametroak hash baten base64 kodifikazioa eduki behar du
'in' parametroak eduki bitar baten base64 kodifikazioa eduki behar du
'in' parametroak testu-eduki bat eduki behar du
Honako irteera mota (outtype) hauek onartzen dira:
Mota
file
folder
inline
'out' parametroak fitxategi baten izena eduki behar du
'out' parametroak direktorio baten izena eduki behar du
Eragiketaren emaitza getOutputContent() metodoaren bidez eskuratu ahal izango da
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
ADIBIDEAK
Sarrera gisa fitxategi bat eta irteera gisa fitxategi bat hautatzeko:
addInput(“file”,"document.pdf",”file”,”newdoc.pdf”);
Sarrera gisa direktorio bat eta irteera gisa direktorio bat hautatzeko:
addInput(“folder”,"in",”folder”,”out”);
Sarrera gisa hash bat eta irteera gisa fitxategi bat hautatzeko:
addInput(“hash”,"UE+aTxBNj4…",”file”,”detached.xades”);
Sarrera gisa testu bat eta irteera applet-arentzako deien bidez hautatzeko:
addInput(“inline-text”,"helloworld!",”inline”,null);
1.5.7
addInputWithAttachement
Dettached sinadurak egiaztatzeko osagai bat gehitzen du.
DEIAREN FORMATUA
Boolearra
addInput(TestuKatea
intype,
String
in,
String
inattachmenttype, String inattachement, String outtype, String out, String
reserved)
PARAMETROAK
intype: sarrera mota
in: sarrera
inattachmenttype: attached eduki mota
inattachement: dettached edukiaren sarrera
outtype: “none” izan behar du nahitaez
out: parametro erreserbatua
reserved: parametro erreserbatua
Honako sarrera mota (intype) hauek onartzen dira:
Mota
file
inline-binary
inline-text
'in' parametroak fitxategi baten izena eduki behar du
'in' parametroak eduki bitar baten base64 kodifikazioa eduki behar du
'in' parametroak testu-eduki bat eduki behar du
Dettached edukiaren (inattachmenttype) honako sarrera mota hauek onartzen dira:
Mota
file
inline-binary
inline-text
1.5.8
'in' parametroak fitxategi baten izena eduki behar du
'in' parametroak eduki bitar baten base64 kodifikazioa eduki behar du
'in' parametroak testu-eduki bat eduki behar du
clearInputs
addInput(…) metodoaren bidez zehaztutako sarrera guztiak ezabatzen ditu.
DEIAREN FORMATUA
clearInputs()
1.5.9
getOutputCount
getOutputContent(…) metodoaren bidez berreskura daitezkeen sarreren kopurua.
DEIAREN FORMATUA
Osokoa getOutputCount()
ITZULERA
Sarrera kopurua.
1.5.10
getOutputContent
Sarrera “inline” motako outtype baten bidez zehaztu duen eragiketa baten edukia
berreskuratzen du.
DEIAREN FORMATUA
TestuKatea getOutputContent(Osokoa index, Boolearra isBinary)
PARAMETROAK
index: berreskuratu nahi den elementuaren indizea
isBinary: edukia base64-an berreskuratu nahi den adierazten du
ITZULERA
Eragiketaren emaitza.
1.5.11
getOutputReferenceFile
Eragiketaren xede izan den jatorrizko dokumentua berreskuratzen du.
DEIAREN FORMATUA
TestuKatea getOutputReferenceFile (Osokoa index)
PARAMETROAK
index: berreskuratu nahi den elementuaren indizea
ITZULERA
Fitxategiaren izena.
1.5.12
sign
Sinadura elektronikoa aplikatzen die addInput(…) metodoaren bidez gehitutako elementuei.
DEIAREN FORMATUA
Boolearra sign(TestuKatea type)
PARAMETROAK
type: sinadura mota
Type
cades-sign-attached
cades-cosign-attached
cades-sign-dettached
cades-cosign-dettached
xades-sign-dettached
xades-sign-enveloping
CMS/CAdES attached sinadura
CMS/CAdES attached bati sinadura paraleloa gehitu
CMS/CAdES dettached sinadura
CAdES dettached sinadura bati sinadura paraleloa gehitu
XMLDSig/XAdES dettached sinadura
XMLDSig/XAdES enveloping sinadura
xades-cosign-enveloped9
pdf
pdf-timestamped
XMLDSig/XAdES enveloped sinadura sortu/gehitu
PDF sinadura
PDF sinadura denbora-zigiluarekin
cms-cosign-dettached
ZAHARKITUA, erabili cades-cosign-dettached
xades-countersign-enveloping ZAHARKITUA
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
** Callback (atzeradeia) funtzioen parametrizazioa: 1.7.0 bertsiotik aurrera, metodo honek
aukera ematen du erantzuna ok/error (ongi/errorea) erantzuneko atzeradeietara
birbideratzeko.
DEIAREN FORMATUA
Boolearra
errorCallback)
sign(TestuKatea
type,
String
sucessCallback,
String
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
CALLBACK FUNTZIOEN PARAMETROAK
Ez dago erabilgarri. Erabiltzaileak azken sinadura jasotzeko metodoari dei egin behar dio, berak
nahi bezala tipifikatzeko (xml vs bitarra)
1.5.13
verify
Attached sinaduren kasuan addInput(…) metodoaren bidez eta dettached sinaduren kasuan
addinputWithAttachement(..) metodoaren bidez zehaztutako dokumentuen sinadura
egiaztatzen du.
DEIAREN FORMATUA
Boolearra verify(TestuKatea type)
9
<Manifest> bat sinatzen baduzu, http://www.w3.org/2000/09/xmldsig#Manifest motako sinadura bat
sortuko du sistemak
PARAMETROAK
type: egiaztatu beharreko sinadura mota
Type
cms-verify-attached
cms-verify-dettached
CMS attached sinadura
CMS dettached sinadura
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
1.5.14
signSetAdESLevel
CAdES/XAdES-erako sinadura-maila ezartzen du.
DEIAREN FORMATUA
Boolearra signSetAdESLevel(TestuKatea level)
PARAMETROAK
level: sinadura-maila
Type
none
bes
t
c
xl
CMS/XMLDSig
CAdES-BES/XAdES-BES
CAdES-T/XAdES-T
CAdES-C/XAdES-C
XAdES-XL
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
1.5.15
cipher
addInput(…) metodoaren bidez gehitutako elementuak zifratzen ditu.
Bai cipher-ek eta bai decipher-ek instalatuta izan behar ditu JSE pakete gehigarriaren
fitxategiak: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy File.
DEIAREN FORMATUA
Boolearra cipher(TestuKatea password)
PARAMETROAK
zifratze-pasahitza edo, bestela, “*gui”, erabiltzaileari interfaze
grafikoaren bidez galdetu behar zaiola adierazteko.
password:
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
1.5.16
decipher
addInput(…) metodoaren bidez gehitutako elementuak deszifratzen ditu.
Bai cipher-ek eta bai decipher-ek instalatuta izan behar ditu JSE pakete gehigarriaren
fitxategiak: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy File.
DEIAREN FORMATUA
Boolearra decipher(TestuKatea password)
PARAMETROAK
password: deszifratze-pasahitza edo, bestela, “*gui”, erabiltzaileari interfaze
grafikoaren bidez galdetu behar zaiola adierazteko.
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
1.5.17
hash
addInput(…) metodoaren bidez gehitutako elementuen hash-a kalkulatzen du.
DEIAREN FORMATUA
Boolearra hash()
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
1.5.18
getTies
Txartelaren TIES kode publikoa berreskuratzen du.
DEIAREN FORMATUA
TestuKatea getTies ()
ITZULERA
Deiak arrakasta izan badu TIES kodea, bestela null.
1.5.19
setCryptoStorePkcs12
PKCS#12 fitxategi baten ziurtagiriak eta gako pribatuak erabiltzen ditu. Metodo hau testing
zereginetan erabiltzeko pentsatuta dago.
DEIAREN FORMATUA
Boolearra setCryptoStorePkcs12(TestuKatea pkcs12path,TestuKatea pin)
PARAMETROAK
pkcs12path: PKCS#12 fitxategiaren kokapena
pin: PKCS#12 fitxategiaren gakoa
ITZULERA
Egiazkoa baldin eta deiak arrakasta izan badu.
1.5.19.1
signXAdESEnvelopedSelectNode
XAdES formatuarekin sinatzeko aukera ematen du. Dei mota hau addInput/Sign() logikaz kanpo
geratzen da, ez baitu leihorik bistaratzen egin beharreko sinadura baliozkotzeko. Sarrerako XML
dokumentuaren zein nodo sinatuko diren eta sinadura zein posiziotan kokatuko den zehatz
daiteke.
Oharra: gomendatzen dugu signXAdESEnvelopedSelectNode metodoa erabiltzea, sinatu
beharreko fitxategiaren encoding-a zehazteko aukera ematen du-eta (xmlEntradaEncoding
parametro gehigarria). Metodo hori hurrengo puntuan adierazten da zehatz-mehatz.
DEIAREN FORMATUA
TestuKatea
signXAdESEnvelopedSelectNode(TestuKatea
TestuKatea
nodoAFirmar,
TestuKatea
nodoPosiciónFirma,
mecanismoCannonicalización)
xmlEntrada,
TestuKatea
PARAMETROAK
xmlEntrada: sinatu nahi den XML dokumentua.
nodoAFirmar: sinatu nahi den nodoa; honakoa zehatz daiteke:
edo dokumentuaren IDarekiko erreferentzia: adibidez #id
edo nodoa identifikatzen duen xpath10 bat: adibidez //node. Nodo horrek
identifikatzailerik ez badu, automatikoki gehituko da.
nodoPosiciónFirma:
sinadura txertatu nahi den nodoa; honakoa zehatz
daiteke:
edo dokumentuaren IDarekiko erreferentzia: adibidez #id
edo nodoa identifikatzen duen xpath11 bat: adibidez //node.
mecanismoCannonicalización: kanonikalizazioko12 transformaziorako erabili
nahi den mekanismoa zehazten du. Balio hauetariko bat zehaztu behar da:
TRANSFORM_C14N_OMIT_COMMENTS
TRANSFORM_C14N_WITH_COMMENTS
TRANSFORM_C14N_EXCL_OMIT_COMMENTS
10
11
12
Kontsultatu http://www.w3.org/TR/xpath/
Kontsultatu http://www.w3.org/TR/xpath/
Kontsultatu http://www.w3.org/TR/xmldsig-core/
TRANSFORM_C14N_EXCL_WITH_COMMENTS
ITZULERA
Sinatutako XML dokumentua.
ADIBIDEA
xml=”
<root>
<data1 id=’iddata1’>sample</data1>
<data2>sample</data2>
<signatures1 id=’idsignatures1’></signatures1>
<signatures2></signatures2>
</root>
”
signed_xml=applet.signXAdESEnvelopedSelectNode
(xml,”#iddata1”,”#idsignatures1”,” TRANSFORM_C14N_OMIT_COMMENTS“)
signed_xml=applet.signXAdESEnvelopedSelectNode (xml,”//data2”,”//data2”,”
TRANSFORM_C14N_OMIT_COMMENTS“)
1.5.19.2
signXAdESEnvelopedSelectNode
XAdES formatuarekin sinatzeko aukera ematen du. Dei mota hau addInput/Sign() logikaz kanpo
geratzen da, ez baitu leihorik bistaratzen egin beharreko sinadura baliozkotzeko. Sarrerako XML
dokumentuaren zein nodo sinatuko diren eta sinadura zein posiziotan kokatuko den zehatz
daiteke.
DEIAREN FORMATUA
TestuKatea
signXAdESEnvelopedSelectNode(TestuKatea
TestuKatea
nodoAFirmar,
TestuKatea
nodoPosiciónFirma,
mecanismoCannonicalización, String xmlEntradaEncoding)
PARAMETROAK
xmlEntrada: sinatu nahi den XML dokumentua.
xmlEntrada,
TestuKatea
nodoAFirmar: sinatu nahi den nodoa; honakoa zehatz daiteke:
edo dokumentuaren IDarekiko erreferentzia: adibidez #id
edo nodoa identifikatzen duen xpath13 bat: adibidez //node. Nodo horrek
identifikatzailerik ez badu, automatikoki gehituko da.
nodoPosiciónFirma:
sinadura txertatu nahi den nodoa; honakoa zehatz
daiteke:
edo dokumentuaren IDarekiko erreferentzia: adibidez #id
edo nodoa identifikatzen duen xpath14 bat: adibidez //node.
mecanismoCannonicalización: kanonikalizazioko15 transformaziorako erabili
nahi den mekanismoa zehazten du. Balio hauetariko bat zehaztu behar da:
TRANSFORM_C14N_OMIT_COMMENTS
TRANSFORM_C14N_WITH_COMMENTS
TRANSFORM_C14N_EXCL_OMIT_COMMENTS
TRANSFORM_C14N_EXCL_WITH_COMMENTS
xmlEntradaEncoding:
Sarrerako
XML
dokumentuaren
zehazten du. Balio hauetariko bat zehaztu behar da:
ISO-8859-1
UTF-8
ITZULERA
Sinatutako XML dokumentua.
ADIBIDEA
xml=”
<root>
<data1 id=’iddata1’>sample</data1>
<data2>sample</data2>
<signatures1 id=’idsignatures1’></signatures1>
<signatures2></signatures2>
</root>
”
13
14
15
Kontsultatu http://www.w3.org/TR/xpath/
Kontsultatu http://www.w3.org/TR/xpath/
Kontsultatu http://www.w3.org/TR/xmldsig-core/
encoding-a
signed_xml=applet.signXAdESEnvelopedSelectNode
(xml,”#iddata1”,”#idsignatures1”,” TRANSFORM_C14N_OMIT_COMMENTS“, “ISO-88591”)
signed_xml=applet.signXAdESEnvelopedSelectNode (xml,”//data2”,”//data2”,”
TRANSFORM_C14N_OMIT_COMMENTS“, ISO-8859-1)
1.5.19.3
signXAdESEnvelopedSelectNodeBase64
Base64-an kodetutako XML dokumentu bat XAdES formatuarekin sinatzeko aukera ematen du,
eta sinadura ere base64-an lortzen da. Dei mota hau addInput/Sign() logikaz kanpo geratzen da,
ez baitu leihorik bistaratzen egin beharreko sinadura baliozkotzeko. Sarrerako XML
dokumentuaren zein nodo sinatuko diren eta sinadura zein posiziotan kokatuko den zehatz
daiteke.
DEIAREN FORMATUA
TestuKatea signXAdESEnvelopedSelectNodeBase64(TestuKatea
TestuKatea
nodoAFirmar,
TestuKatea
nodoPosiciónFirma,
mecanismoCannonicalización, String xmlEntradaEncoding)
xmlEntrada,
TestuKatea
PARAMETROAK
xmlEntrada: sinatu nahi den XML dokumentua, base64-an kodetua.
nodoAFirmar: sinatu nahi den nodoa; honakoa zehatz daiteke:
edo dokumentuaren IDarekiko erreferentzia: adibidez #id
edo nodoa identifikatzen duen xpath16 bat: adibidez //node. Nodo horrek
identifikatzailerik ez badu, automatikoki gehituko da.
nodoPosiciónFirma:
sinadura txertatu nahi den nodoa; honakoa zehatz
daiteke:
edo dokumentuaren IDarekiko erreferentzia: adibidez #id
edo nodoa identifikatzen duen xpath17 bat: adibidez //node.
16
17
Kontsultatu http://www.w3.org/TR/xpath/
Kontsultatu http://www.w3.org/TR/xpath/
mecanismoCannonicalización:
kanonikalizazioko18 transformaziorako
erabili nahi den mekanismoa zehazten du. Balio hauetariko bat zehaztu behar
da:
TRANSFORM_C14N_OMIT_COMMENTS
TRANSFORM_C14N_WITH_COMMENTS
TRANSFORM_C14N_EXCL_OMIT_COMMENTS
TRANSFORM_C14N_EXCL_WITH_COMMENTS
xmlEntradaEncoding: Sarrerako XML dokumentuaren encoding-a zehazten du.
Balio hauetariko bat zehaztu behar da:
ISO-8859-1
UTF-8
ITZULERA
Sinatutako XML dokumentua, base64-an kodetua.
ADIBIDEA
xml=”PHJvb3Q+DQo8ZGF0YTEgaWQ9ImlkZGF0YTEiPnNhbXBsZTwvZGF0YTE+DQo8ZGF0YTI+c2F
tcGxlPC9kYXRhMj4NCjxzaWduYXR1cmVzMSBpZD0iaWRzaWduYXR1cmVzMSI+PC9zaWduYXR1c
mVzMT4NCjxzaWduYXR1cmVzMj48L3NpZ25hdHVyZXMyPg0KPC9yb290Pg==”
Hori base64-an kodetutako dokumentu honen baliokidea izango litzateke:
<root>
<data1 id=’iddata1’>sample</data1>
<data2>sample</data2>
<signatures1 id=’idsignatures1’></signatures1>
<signatures2></signatures2>
</root>
signed_xml=applet.signXAdESEnvelopedSelectNodeBase64
(xml,”#iddata1”,”#idsignatures1”,” TRANSFORM_C14N_OMIT_COMMENTS“, “ISO-88591”)
signed_xml=applet.signXAdESEnvelopedSelectNodeBase64 (xml,”//data2”,”//data2”,”
TRANSFORM_C14N_OMIT_COMMENTS“, “ISO-8859-1”)
18
Kontsultatu http://www.w3.org/TR/xmldsig-core/
1.5.19.4
createXAdESManifest
Metodo honek aukera ematen du XAdES-en enveloping sinaduretarako manifest bat sortzeko,
praktikan dettached motako sinadura bat lortzeko.
DEIAREN FORMATUA
TestuKatea createXAdESManifest(TestuKatea uri, TestuKatea
digestMethodAlgorithm, TestuKatea digestValue)
PARAMETROAK
uri: erreferentziako dokumenturako URIa
digestMethodAlgorithm: erabili beharreko digest algoritmoa
digestValue: digest-aren balioa, base64-an
ITZULERA
Digest-ari dagokion XML dokumentua.
ADIBIDEA
applet.createXAdESManifest("data.bin", "http://www.w3.org/2000/09/xmldsig#sha1",
"Au2KNhXNIfC7yePq5S0D6a0/DFw=");
Emaitza hau izango du:
<ds:Manifest Id=”Manifest1">
<ds:Reference URI="data.bin">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>Au2KNhXNIfC7yePq5S0D6a0/DFw=</ds:DigestValue>
</ds:Reference>
</ds:Manifest>
1.6 Web-orri batetik erabiltzea (Applet-a)
APIa web-orri batetik erabiltzeko, entregatzen den Applet-a erabili behar da. Applet-aren API
honetan honako datu mota hauek erabili behar dira:
TestuKatea: String
Osokoa: int
Boolearra: bool
Egiazkoa: true
Faltsua: false
Applet-a exekutatzen den bakoitzean aztarna-fitxategi bat sortzen du.
Fitxategiaren kokapena honakoa da:
$HOME/.idazki-trace.txt Linux/OSX sistemetan.
%APPDATA%/.idazki-trace.txt Windows sistemetan.
1.6.1
Deklarazioa
Applet-a web-orri batetik erabili ahal izateko honako kode hau zehaztu beharko dugu haren
barruan:
<html>
<header
<applet code="izenpe.app.applet.AppletApplication.class" archive="izenpesignerapplet.jar" name="applet">
</header>
</applet>
<body>
…
</body>
</html>
1.6.2
Applet-arentzako metodo espezifikoak
1.6.2.1 promptFilesystem
Fitxategi edo direktorio baten sarreraz/irteeraz galdetzen duen elkarrizketa-koadro bat
erakusten du.
DEIAREN FORMATUA
String promptFilesystem(boolean
semicolonSeparatedExtensionList)
isInput,
boolean
isFolder,
String
PARAMETROAK
1. isInput: true sarrerakoa dela adierazteko, false irteerakoa dela adierazteko
2. isFolder: true direktorio bat dela adierazteko, false fitxategi bat dela
adierazteko
3. semicolonSeparatedExtensionList: fitxategiaren gaineko eragiketa bat bada
(isFolder==false), baimendutako luzapenen zerrenda zehatz daiteke, puntu eta
komaz bereizita. Esate baterako “txt;doc”;
ITZULERA
Deiak arrakasta izan badu, hautatutako fitxategia/direktorioa; bestela, null.
ADIBIDEA
alert("Hautatu sarrerako PDF edo TXT");
alert(applet.promptFilesystem(true,false,"pdf;txt"));
alert("Hautatu irteerako .xades fitxategi bat");
alert(applet.promptFilesystem(false,false,"xades"));
alert(“Hautatu sarrerako karpeta bat”);
alert(applet.promptFilesystem(true,true,null));
alert("Hautatu irteerako karpeta bat");
alert(applet.promptFilesystem(true,true,null));
1.6.2.2 traceTime
Eragiketa bat trazatzeko eta kronometrajeak egiteko aukera ematen du.
DEIAREN FORMATUA
void traceTime(String trace, String timer)
PARAMETROAK
4. trace: aztarnaren testua
5. timer: timer-aren identifikatzailea
ADIBIDEA
Adibide honek denbora-aztarna bat egiten du:
applet.traceTime("Aztarnaren hasiera",”timer1”;
…
applet.traceTime("Aztarnaren amaiera",”timer1”);
1.6.3
Kontsiderazio gehigarriak
Applet-ek klase edo baliabide bat kargatu behar dutenean, JAR fitxategian aurkitzen ez badute,
zerbitzarira jotzen dute kargatzen ahalegintzeko. Idazkiren kasuan beharrezko baliabide guztiak
JAR fitxategian bertan daudenez, portaera hori desaktibatzea komeni da. Horretarako, honela
erabili behar da codebase_lookup parametroa:
<applet code="izenpe.app.applet.AppletApplication.class" archive="izenpesignerapplet.jar" name="applet">
<param name="codebase_lookup" value="false"/>
</applet>
1.7 Windows aplikazio batetik DLLaren bitartez erabiltzea
(dllwrapper)
APIa aplikazio batetik erabiltzeko, kontuan izan behar da datu motetarako mapaketa hauek
egiten direla:
TestuKatea: QSTRING (char *)
Osokoa: int
Boolearra: int
Egiazkoa: 1
Faltsua: 0
OHARRA: metodo guztiek idazki_ aurrizkia erabiltzen dute.
OHAR garrantzitsua: itzulitako QSTRINGen memoria libratu behar da.
Egindako eragiketen aztarnak sortu nahi badira, IDAZKI_WS_DLLWRAPPER_TRACEFILE
ingurune-aldagaia zehatz daiteke aztarnak gordetzeko erabili nahi dugun fitxategiaren
izenarekin.
1.7.1
Deklarazioa
"Debug muthithreaded dll" bertsioa:
idazki-ws-dllwrapper_debug.lib estekatzeko
idazki-ws-dllwrapper_debug.dll
"Release muthithreaded dll" bertsioa:
idazki-ws-dllwrapper.lib estekatzeko
idazki-ws-dllwrapper.dll
Bestalde, idazki-ws-dllwrapper.h fitxategian metodoen eta DLLaren konstanteen deklarazioak
daude.
1.7.2
DLL liburutegiarentzako metodo espezifikoak
1.7.2.1 idazkiws_forgetLastSessionAndCreateNewOne
Lehendik web-zerbitzuan sortutako saio guztiak ixten ditu eta saio berri bat sortzen du.
DEIAREN FORMATUA
QBOOL idazki_forgetLastSessionAndCreateNewOne();
ITZULERA
QTRUE baldin eta saio berri bat sortu ahal izan badu. QFALSE itzultzen badu, litekeena
da zerbitzaria ez abiarazi izana.
1.7.2.2 idazkiws_serverStart
IdazkiWS-ren barne-zerbitzaria abiarazten du.
DEIAREN FORMATUA
QBOOL idazkiws_serverStart(QSTRING serverPath);
PARAMETROAK
6. serverPath: zerbitzaria instalatuta dagoen lekua
ITZULERA
QTRUE baldin eta errorerik ez badago
1.7.2.3 idazkiws_serverStop
Lehenago idazkiws_serverStart aginduarekin abiarazitako zerbitzaria ixten du killAll QFALSE
balioarekin zehazten bada. Baina killAll QTRUE balioarekin badago, orduan zerbitzaria itxi
egingo du, idazkiws_serverStart aginduarekin abiarazi ez bada ere.
DEIAREN FORMATUA
QVOID idazkiws_serverStart(QSTRING serverPath, QBOOL killAll);
PARAMETROAK
7. serverPath: zerbitzaria instalatuta dagoen lekua
8. killAll: zerbitzaria ixteko, idazki_serverStart aginduarekin abiarazi ez bada
ere
1.8
Windows inguruneko aplikazio batetik SOAP bidez erabiltzea
SOAP-EN ZUZENEKO ERABILERA ESPERIMENTALA DA,
FUNTZIONALTASUNA EDOZEIN UNETAN ALDA DAITEZKE.
EZ
DAGO
ONARTUA
ETA
METODOAK
ETA
APIa aplikazio batetik erabiltzeko, kontuan izan behar da datu motetarako mapaketa hauek
egiten direla:
TestuKatea: xsd:string
Osokoa: xsd:int
Boolearra: xsd:bool
Egiazkoa: true
Faltsua: false
Metodo
guztiek
erantsitako
lehen
parametro
bat
dute:
APIaren
forgetLastSessionAndCreateNewOne dei espezifikoaren bidezko edozein eragiketa
egiteko erabili behar den saio-identifikatzailea.
OHARRA: zerbitzariak localhost-etik (127.0.0.1) datozen deiak besterik ez ditu onartzen.
1.8.1
Deklarazioa
Zerbitzuen deklarazioa hemen dago erabilgarri:
http://localhost:18080/axis2/services/idazki?wsdl
1.8.2
SOAP zerbitzurako metodo espezifikoak
1.8.2.1 forgetLastSessionAndCreateNewOne
Lehendik web-zerbitzuan sortutako saio guztiak ixten ditu eta saio berri bat sortzen du.
DEIAREN FORMATUA
<wsdl:message name="forgetLastSessionAndCreateNewOneRequest"/>
<wsdl:message name="forgetLastSessionAndCreateNewOneResponse">
<wsdl:part name="parameters" element="ns:forgetLastSessionAndCreateNewOneResponse"/>
</wsdl:message>
<wsdl:operation name="forgetLastSessionAndCreateNewOne">
<wsdl:input message="ns:forgetLastSessionAndCreateNewOneRequest"
wsaw:Action="urn:forgetLastSessionAndCreateNewOne"/>
<wsdl:output message="ns:forgetLastSessionAndCreateNewOneResponse"
wsaw:Action="urn:forgetLastSessionAndCreateNewOneResponse"/>
</wsdl:operation>
ITZULERA
Saio-identifikatzaile berria.
APIaren adibideak
1.9 Applet-a/JavaScript
1.9.1
PDF dokumentu bat denbora-zigiluarekin sinatzea
SarreraFitxategia = applet.promptFileSystem(“in?”,true,false);
IrteeraFitxategia = applet.promptFileSystem(“out?”,false,false);
applet.addInput(“file”, SarreraFitxategia, ”file”, IrteeraFitxategia);
applet.setCryptoStoreAuto();
applet.sign(“pdf-timestamped”);
1.9.2
Karpeta bateko dokumentuak CAdES-C dettached moduan sinatzea eta edukia
JavaScript bidez berreskuratzea
applet.addInput(“folder”,"/in",”inline”,null);
applet.signSetAdESLevel(“c”);
applet.setCryptoStoreAuto();
applet.sign("cades-sign-dettached");
for (i=0;i<applet.getOutputContent();++i)
{
alert(“signed file=”+applet.getOutputReferenceFile(i,false));
alert(“signature=”+applet.getOutputContent(i,true));
}
1.9.3
Testu bat modu lokalean zifratzea erabiltzaileari pasahitza galdetuta
applet.addInput(“inline-text”,"cipher-me!",”inline”,null);
applet.cipher(“*gui”);
ciphereddata = applet.getOutputContent(0,true);
1.9.4
TIES kodea berreskuratzea
19
alert("TIES-PUBLIC="+applet.getTies ());
1.9.5
CMS attached bat sinatzea eta egiaztatzea
applet.clearInputs();
applet.addInput("inline-text",”sinatutakodatuak”,"inline",null);
applet.signSetAdESLevel("none");
applet.sign("cades-sign-attached");
var cms=applet.getOutputContent(0,true);
applet.clearInputs();
applet.addInput("inline-binary",cms,"none",null);
applet.verify("cms-verify-attached");
1.9.6
CMS dettached bat sinatzea eta egiaztatzea
applet.clearInputs();
applet.addInput("inline-text",”sinatutakodatuak”,"inline",null);
applet.signSetAdESLevel("none");
applet.sign(“cades-sign-dettached”);
var cms=applet.getOutputContent(0,true);
applet.clearInputs();
applet.addInputWithAttachment("inline-binary",cms,
"inline-text",”sinatutakodatuak”,"none",null,null);
applet.verify("cms-verify-dettached");
1.9.7
CAdES-BES dettached bat mankomunatuta sinatzea
applet.clearInputs();
applet.addInput("inline-text",”sinatutakodatuak”,"inline",null);
applet.signSetAdESLevel("bes");
applet.setCryptoStoreAuto();
19
UNIX sistemetan dei honen bidez berreskura daiteke TIES kodea: pkcs11-tool --read-object -label 'TIES-PUB' --type data
applet.sign("cades-sign-dettached");
var cades_1firma=applet.getOutputContent(0,true);
applet.clearInputs();
applet.addInput("inline-binary", cades_1firma,"inline",null);
applet.signSetAdESLevel("bes");
applet.setCryptoStoreAuto();
applet.sign("cades-cosign-dettached");
var cades_2firma=applet.getOutputContent(0,true);
1.9.8
XAdES-BES dettached sinadura kanpoko hash batetik abiatuta. Sartutako hash-a XML
fitxategi batetik abiatuta kalkulatu da, eta, horrenbestez, kanonizazio-metodoa
zehaztu behar da (hash-canonizexmlwithcomments).
applet.clearInputs();
applet.setOption("signature-hashalgo","SHA-1");
applet.setOption("signature-dettached-ref-uri","original.xml");
applet.setOption("signature-dettached-ref-type","hash");
applet.setOption("hash-canonizexmlwithcomments","0");
applet.addInput("inline-hash", "VvPGEQaGWoHmPfH5E+LgP8MJvaU=", "inline", null );
applet.setOption("va-universal-ocsp-url", "http://ocspdes.izenpe.com:8094");
applet.setOption("timestamp-url", "http://ocspdes.izenpe.com:8093/");
applet.setCryptoStoreAuto();
applet.signSetAdESLevel("bes");
applet.sign("xades-sign-dettached");
var data_xml_signed=applet.getOutputContent(0,false);
1.9.9
XAdES-BES
dettached
sinadura
kanpoko
hash
Sartutako hash-a fitxategi bitar batetik abiatuta kalkulatu da.
applet.clearInputs();
applet.setOption("signature-hashalgo","SHA-1");
batetik
abiatuta.
applet.setOption("signature-dettached-ref-uri","original.xml");
applet.setOption("signature-dettached-ref-type","hash");
applet.addInput("inline-hash", "VvPGEQaGWoHmPfH5E+LgP8MJvaU=", "inline", null );
applet.setOption("va-universal-ocsp-url", "http://ocspdes.izenpe.com:8094");
applet.setOption("timestamp-url", "http://ocspdes.izenpe.com:8093/");
applet.setCryptoStoreAuto();
applet.signSetAdESLevel("bes");
applet.sign("xades-sign-dettached");
var data_xml_signed=applet.getOutputContent(0,false);
1.10 DLL (C++ lengoaian, DLLWrapper bidez)
1.10.1
WS zerbitzarian saio balioduna lortzea (eta zerbitzaria abiaraztea)
Lehenengo eta behin saio berri bat sortzen ahaleginduko gara:
QBOOL alive = idazkiws_forgetLastSessionAndCreateNewOne();
std::cout<< "server is " << (alive==QFALSE?"not running":"running") << std::endl;
if (alive==QTRUE) return 0;
Sortzerik izan ez badugu, seguruenik zerbitzaria abiarazi gabe egongo da eta, horrenbestez,
abiarazten ahaleginduko gara (kasu honetan WS zerbitzaria C:\IDAZKI_SRV kokalekuan dago).
std::cout<< "zerbitzaria abiarazten..." << std::endl;
idazkiws_serverStart(“c:\\IDAZKI_SRV”);
Saio berri batean sartzea lortzen ahaleginduko da (begizta beharrezkoa da, zerbitzaria
abiarazten egon daiteke-eta).
int tries = 50;
while ((alive = idazkiws_forgetLastSessionAndCreateNewOne())==QFALSE && tries--)
{ Sleep(200); }
if (alive==QFALSE)
{ std::cout << "Cannot start up server" << std::endl; getchar(); return -1; }
return 0;
1.10.2
3 PDF batch moduan sinatzea eta, azkenik, azkenekoa denbora-zigiluarekin batera
sinatzea
idazkiws_clearInputs();
idazkiws_setOption(OPTION_PDF_SIGNATURE_LLX,"150");
idazkiws_setOption(OPTION_PDF_SIGNATURE_LLY,"150");
idazkiws_setOption(OPTION_PDF_SIGNATURE_URX,"250");
idazkiws_setOption(OPTION_PDF_SIGNATURE_URY,"250");
idazkiws_setOption(OPTION_PDF_SIGNATURE_PAGE,"1");
idazkiws_setOption(OPTION_PDF_SIGNATURE_IMAGE,"c:\\signature1.gif");
idazkiws_addInput(PARAM_ELEMENT_IN_FILE,"c:\\doc1.pdf",
PARAM_ELEMENT_OUT_FILE,"doc1_s.pdf");
idazkiws_addInput(PARAM_ELEMENT_IN_FILE,"c:\\doc2.pdf",
PARAM_ELEMENT_OUT_FILE,"doc2_s.pdf");
idazkiws_setCryptoStoreAuto()
idazkiws_sign(PARAM_SIGN_PDF)
idazkiws_clearInputs();
idazkiws_setOption(OPTION_PDF_SIGNATURE_LLX,"250");
idazkiws_setOption(OPTION_PDF_SIGNATURE_LLY,"150");
idazkiws_setOption(OPTION_PDF_SIGNATURE_URX,"350");
idazkiws_setOption(OPTION_PDF_SIGNATURE_URY,"250");
idazkiws_setOption(OPTION_PDF_SIGNATURE_IMAGE,"c:\\signature2.gif");
idazkiws_addInput(PARAM_ELEMENT_IN_FILE,"c:\\doc1_s.pdf",
PARAM_ELEMENT_OUT_FILE,"doc1_s_s.pdf");
idazkiws_setCryptoStoreAuto()
idazkiws_sign(PARAM_SIGN_PDF_TSA)
Mahaigaineko aplikazioa
1.11 Instalatzea / desinstalatzea
1.11.1
OSX
1.11.1.1
Modu grafikoan instalatzea
Aplikazioa OSX sisteman instalatzeko:
1. Aurkitu [email protected] fitxategia:
2. Egin klik bikoitza fitxategian fitxategi-sisteman muntatzeko. “IZENPE ID@ZKI” bolumen
berri bat izan beharko duzu muntatuta:
3. Arrastatu ID@ZKI ikonoa aplikazioen karpetara. Aplikazioen karpetaren barruan
exekutatu ahal izango duzu ID@ZKI.
1.11.1.2
Modu grafikoan desinstalatzea
Aplikazioa desinstalatzeko, bidali ID@ZKI zakarrontzira.
1.11.1.3
Komando-lerroan instalatzea
1. Muntatu
instalatzeko
fitxategia
sisteman
komando
hdid ID\@ZKI.dmg
2. Kopiatu aplikazioa agindu honen bidez:
cp /Volumes/IZENPE ID\@ZKI/ID\@ZKI.app /Applications
3. Desmuntatu instalatzeko fitxategia agindu honen bidez:
umount /Volumes/IZENPE ID\@ZKI
1.11.1.4
Komando-lerroan desinstalatzea
Ezabatu aplikazioaren direktorioa agindu honen bidez:
rm –rf /Applications/ID\@ZKI.app
1.11.2
Windows/Linux
honen
bidez:
1.11.2.1
Instalatzea
Instalazioa helburuko plataformari dagokion fitxategiarekin egin beharko da:
Microsoft Windows (XP eta Vista): bitar autoexekutagarria.
Linux (OpenSuse, Ubuntu eta FedoraCore): jar fitxategi konprimitua, Java Virtual
Machine-ren bidez abiarazi beharrekoa (JRE 1.6).
Mac: jar fitxategi konprimitua, Java Virtual Machine-ren bidez abiarazi beharrekoa (JRE
1.6).
Instalazioa egiteko sistema administratzeko pribilegioak dituen erabiltzaile bat erabili beharko
da.
Instalatzailea honela abiaraziko da:
Microsoft Windows: exekutagarrian klik bikoitza egin
Linux eta OSX: eskuin-botoia -> “Sun Java 6 Runtime-rekin ireki”20
1. Instalatzeko eta funtzionatzeko hizkuntza aukeratzeko pantaila. Idazki euskaraz eta
gaztelaniaz instalatu ahal izango da. Goitibeherako menuaren bidez aukeratuko dugu
hizkuntza.
2.
3. Ongietorri-paneletatik eta instalatzeko osagaiak aukeratzekoetatik igaroko da aplikazioa.
Bertsio honetan (1.0) erabiltzaileak ezin izango du inongo aukerarik egin (osagai bakarra
da).
20
OpenSuse 11.0 eta 11.1 bertsioetan, bug baten ondorioz, prozedura hori honela exekutatu behar da:
Eskuin-botoia -> Erabili komando pertsonalizatua -> Idatzi “java –jar” (komatxorik gabe) -> Ireki.
4. Hurrengo panelean aplikazioa zein direktoriotan instalatu nahi dugun aukeratuko dugu
(fitxategi-sisteman nabigatzeko aukera izango dugu, direktorioa aukeratzeko):
5. Hurrengo panelak instalazioaren bilakaeraren berri emango digu.
6. Panel horretan, zein plataformatan gauden, lasterbideak pertsonalizatzeko aukerak
hautatuko ditugu.
7. Azken panelak instalazioa arrakastaz gauzatu den adieraziko digu.
1.11.2.2
Desinstalatzea
Aplikazioa desinstalatzeko, sistema administratzeko pribilegioak izan beharko ditugu beti.
Aplikazioak jar fitxategi bat utziko du (eta bertarako lasterbideak), Sun JVM-ren bidez exekutatu
eta osagaia desinstalatuko duena:
Instalazioan kopiatutako fitxategiak ezabatuko ditu.
Instalazioan sortutako lasterbideak ezabatuko ditu.
1.12 Aplikazioa erregistratzeko prozedura
1.12.1
Erabiltzaileak eskaera bidaltzea
Aplikazioa erregistratu egin behar da erabili ahal izateko. Aplikazioa instalatu ondoren, lehen
aldiz hasten denean, honako leiho hau agertuko da:
Erabiltzaileak Izenperi bidali beharko dio informazioa, sortutako erregistro-kodearekin batera.
1.12.2
Erabiltzailearentzako instalazio-kodea sortzea
Banaketara joan beharko duzu eta eskuz abiarazi kodeak sortzeko tresna komando-lerroaren
bidez:
java -jar desktop-regtool.jar
Hurrengo leihoa agertuko da. Idatzi erabiltzaileak emandako kodea, erregistro-izena eta
lizentzia erabiltzeko mugaeguna. Sortutako kode guztiak cvs fitxategiari gehitzen zaizkio.
Fitxategia Excel-ekin ireki daiteke aztertzeko.
Sakatu Generar [Sortu] botoia.
Sortutako kodea zuzenean itsats daiteke bezeroarentzako mezu elektroniko batean. Kodea
$$$ karaktereen artean dago eta ez litzateke aldatu behar.
Esate baterako, honela bidal dakioke mezu elektroniko bat bezeroari:
Bezero agurgarria, zure kodea sortu da. Mesedez, kopiatu honako
eduki hau erregistro-kodearen koadroan:
MUGA EGUNA: 2020-01-01
HONEN IZENEAN ERREGISTRATUA: Juan Lopez Lopez
=====================================$$$
02-30312f30312f32303230-4a75616e204c6f70
657a204c6f70657a-41d75e74
$$$=====================================
Adeitasunez,
1.12.3
Instalazio-kodea instalatzea
Bezeroak, besterik gabe, eman dioten kodea txertatu behar du. Gogoan izan $$$ karaktereen
artean ez dagoen guztia alde batera uzten dela. Beraz, beste edozein testu mota ez da kontuan
hartuko.
Kodea sartu eta Registrar [Erregistratu] botoia sakatu ondoren, aplikazioa berrabiarazteko
eskatuko dio aplikazioak erabiltzaileari, modu normalean abiarazi ahal izateko.
1.13 Aplikazioaren erabilera
1.13.1
Fitxategi bat sinatzea
Prozedura honek fitxategi bat sinatzeko aukera emango dizu. Dokumentua PDF motakoa bada,
sinatutako PDF fitxategi bat sortuko da; dokumentua PDF motakoa ez bada, XAdES-BES fitxategi
bat sortuko da. Zigilatzeko zerbitzaria erabilgarri dagoen ala ez, denbora-zigilua ere izan dezake.
1. Gailu kriptografiko batekin sinatu nahi baduzu, sartu orain. PKCS#12 gako-fitxategi
batekin sinatu nahi baduzu, ordenagailuko gailu kriptografikoa kenduta izan beharko
duzu. Windows bada, PKCS#12 hori gakoen biltegi pertsonalera inportatu beharko duzu.
2. Sakatu Firmar archivo [Sinatu fitxategia] botoia.
3. Sakatu Firmar archivo [Sinatu fitxategia] botoia.
4. (Aukerakoa) Denbora zigilatzeko zerbitzaria erabilgarri ez dagoela dioen leihoa agertzen
bazaizu, ezin izango diozu denbora-zigilurik erantsi sinadura elektronikoari. Jarraitu nahi
baduzu, sakatu Si [Bai].
5. Erabili beharreko ziurtagiria hautatzeko eskatuko dizun leihoa agertuko da. Sakatu Ok
hautatzeko edo Detalles [Xehetasunak] botoia hautatutako ziurtagiriaren xehetasunak
ikusteko.
6. Hautatu sarrerako fitxategia. Sinatu beharreko fitxategiaren eta erabiliko den sinaduraziurtagiriaren informazioa bistaratuko da. Sakatu Aceptar [Ados] botoia jarraitzeko.
7. Hautatu sinatutako dokumentua nola gorde nahi duzun.
8. Beharrezkoa izanez gero, sartu gakoak babesteko pasahitza.
1.13.2
Sinadura egiaztatzea eta dokumentu kapsulatua ateratzea
Oharra: erabili Adobe Acrobat Reader tresna sinatutako PDF dokumentuak egiaztatzeko.
1. Sakatu Verificar archivo [Egiaztatu fitxategia] botoia.
2. Hautatu sinadura egiaztatzeko. Mahaigaineko aplikazioaren bidez sinatutako fitxategiak
besterik ezin dira egiaztatu (.signed-xades fitxategiak).
3. Sinaduraren informazioa bistaratuko duen leiho bat agertuko da:
Dokumentua sinatu duen ziurtagiria.
Denbora-zigilu segurua (baldin badago).
Sinatu den jatorrizko dokumentua ateratzeko botoia.
Sinatzeko erabiltzen den ziurtagiria baliozkotu ezin bada, NO SE PUEDE GARANTIZAR LA
VALIDEZ DE LA FIRMA [EZIN DA SINADURAREN BALIODUNTASUNA BERMATU] mezua
bistaratuko du sistemak.
1.13.3
Hainbat fitxategi sinatzea
Prozedura honek hainbat fitxategi sinatzeko aukera emango dizu. Dokumentua PDF motakoa
bada, sinatutako PDF fitxategi bat sortuko da; dokumentua PDF motakoa ez bada, XAdES-BES
fitxategi bat sortuko da. Zigilatzeko zerbitzaria erabilgarri dagoen ala ez, denbora-zigilua ere
izan dezake.
1. Gailu kriptografiko batekin sinatu nahi baduzu, sartu orain. PKCS#12 gako-fitxategi
batekin sinatu nahi baduzu, ordenagailuko gailu kriptografikoa kenduta izan beharko
duzu. Windows bada, PKCS#12 hori gakoen biltegi pertsonalera inportatu beharko duzu.
2. Sortu karpeta bat sinatu nahi dituzun fitxategi guztiekin. Prestatu sinatutako fitxategiak
gordetzeko beste karpeta bat.
3. Sakatu Firmar carpeta [Sinatu karpeta] botoia.
4. (Aukerakoa) Denbora zigilatzeko zerbitzaria erabilgarri ez dagoela dioen leihoa agertzen
bazaizu, ezin izango diozu denbora-zigilurik erantsi sinadura elektronikoari. Jarraitu nahi
baduzu, sakatu Si [Bai].
5. Erabili beharreko ziurtagiria hautatzeko eskatuko dizun leihoa agertuko da. Sakatu Ok
hautatzeko edo Detalles [Xehetasunak] botoia hautatutako ziurtagiriaren xehetasunak
ikusteko.
6. Hautatu sinatzeko dokumentuak zein direktoriotan gorde dituzun.
7. Hautatu sinatutako dokumentuak zein direktoriotan gordeko dituzun.
8. Sinatuko diren fitxategien eta erabiliko den sinadura-ziurtagiriaren informazioa
bistaratuko da. Sakatu Aceptar [Ados] botoia jarraitzeko.
9. Beharrezkoa izanez gero, sartu gakoak babesteko pasahitza.
1.13.4
Fitxategiak zifratzea/deszifratzea
OHARRA: Prozedura hau itzulezina izan daiteke pasahitza galtzen baduzu. Prozedura hau
desaktibatuta egon daiteke konfigurazioz. Kontsultatu sistemen administratzailearekin,
aktibatuta ez badago aktibatzeko.
Prozedura honek fitxategi bat zifratu edo deszifratzen du erabiltzaileak emandako gakotik
abiatuta. Zifratutako fitxategiek jatorrizko fitxategiaren izena izango dute, eta “.cipher” atzizkia.
“.cipher” fitxategiak ezin dira berriz zifratu, sistemak zifratuta dauden fitxategi gisa ezagutzen
baititu eta automatikoki aplikatzen baitizkie deszifratzeko eragiketak.
Fitxategi bat zifratzeko
1. Hautatu Cifrar/Descrifrar archivo [Zifratu/Deszifratu fitxategia].
2. Hautatu zifratu beharreko fitxategia (ezin du izan .cipher luzapena).
3. Idatzi zifratzeko pasahitza.
4. Zifratu beharreko fitxategiaren direktorio berean automatikoki sortuko da izen bera
baina .cipher luzapena duen fitxategi bat. Horixe da zifratutako fitxategia.
Fitxategi bat deszifratzeko
1. Hautatu Cifrar/Descrifrar archivo [Zifratu/Deszifratu fitxategia].
2. Hautatu deszifratu beharreko fitxategia (.cipher luzapena izan behar du).
3. Idatzi deszifratzeko pasahitza.
4. Zifratutako fitxategiaren direktorio berean automatikoki sortuko da izen bera
baina .cipher luzapena ez duen fitxategi bat. Horixe da deszifratutako fitxategia.
1.14 Alderdi teknikoak
1.14.1
Aztarna-fitxategia
Mahaigaineko aplikazioa exekutatzen den bakoitzean aztarna-fitxategi bat sortzen du.
Fitxategiaren kokapena honakoa da:
$HOME/.idazki-trace.txt Linux/OSX sistemetan.
%APPDATA%/.idazki-trace.txt Windows sistemetan.
1.14.2
Propietateen fitxategia
Mahaigaineko aplikazioak propietateen fitxategi bat irakurtzen du hasieran. Propietate horiek
aplikazioaren portaera pertsonalizatzeko aukera ematen dute.
Fitxategiaren kokapena honakoa da:
$HOME/.idazki.properties Linux/OSX sistemetan.
%APPDATA%/.idazki.properties Windows sistemetan.
Honakoak dira propietate horiek:
Key
Value
initLanguage
iscipherActivated
p11list
proxy
helpURLes
helpURLeu
CINS
CPWDINS
Aplikazioaren hizkuntza: 0=Gaztelania 1=Euskara
1, zifratzeko aukera aktibatuta badago; bestela, 0
PKCS#11 gailu kriptografikoen zerrenda, puntu eta koma bidez bereizia
Ikus Id@zki-ren APUrako setOption deian erabilgarri dauden aukerak
Gaztelaniazko laguntzaren URLa
Euskarazko laguntzaren URLa
Instalazio-kodea
Instalazio-pasahitza
Aldaketen kontrola
v1.0
Hasierako bertsioa.
v1.0.1
CMS/CAdES kontrasinadura kendu da.
v1.1
CMS sinadura egiaztatzea gehitu da.
v1.2
Dokumentuaren itxura orokorra aldatu da.
setOptions parametroak gehitu dira.
CMS paraleloko multisinadura gehitu da.
v1.3
Sinadura –N orrialdean jartzeko aukera gehitu da.
Applet-erako PDFrako sinadura grafikoaren aukera gehitu da.
Errorearen mnemonikoak eguneratu dira.
Desktop osagaian sinadura egiaztatzeko eta dokumentua ateratzeko ahalmena gehitu
da.
Erregistro-kodearen funtzionaltasuna gehitu da Desktop aplikaziorako eta erregistrokodeak sortzeko aplikaziorako.
v1.3.1
Windows 7-rako eta Snow Leopard-erako (10.6) euskarria gehitu da.
v1.4
getFileInfo funtzionaltasuna gehitu da.
Sinadura-formatu berriaren funtzionaltasuna gehitu da: cades-cosign-dettached.
Sinatzeko
mekanismo
berriaren
funtzionaltasuna
gehitu
signXadesEnvelopingSelectnode.
XAdES enveloped sinatzeko mekanismoa eguneratu da.
createXAdESManifest gehitu da.
da:
v1.4.1
createXadESManifest metodoa hobetu da.
v1.4.8
signXAdESEnvelopedSelectNodeBase64 funtzionaltasuna gehitu da.
v1.5.1
XL profilerako XAdES sinadura gehitu da.
Hash batetik abiatutako XAdES dettached sinaduraren funtzionaltasuna gehitu da.
v1.5.4
Oharra PINa behar ez bezala sartzen denean
Orain arte errore generikoa ematen zen eta txartela blokeatu egin zezakeen, ez baitzion
erabiltzaileari adierazten errorea zenbaterainokoa zen.
Izenpe sinadura lehenetsiaren politika
Sinadura lehenetsiaren politika gisa, Izenperi dagokiona gehitu da. Horrela, erabiltzaileak
dagozkion balioak izango ditu hura aktibatze hutsarekin.
applet.setOption("ades-add-policy","1");
Propietate hauek sortuko dira:
o XAdES sinaduretarako
setProperty(XADES_SIGNATURE_POLICY_ID_IDENTIFIER,
"urn:izenpe:policies:politicaExt:default");
setProperty(XADES_SIGNATURE_POLICY_ID_DESCRIPTION,
1.5");
"Izenpe
sinadura-politika
setProperty(XADES_SIGNATURE_POLICY_HASH,
"MeyJB7Su/xRvuxbZPiqjk8c5PnFPhr3XKyqlql+48CI=");
setProperty(XADES_SIGNATURE_POLICY_HASHALGO, "SHA-256");
setProperty(XADES_SIGNATURE_POLICY_QUALIFIER_URI, "http://www.izenpe.com/s1512020/es/contenidos/informacion/descarga_certificados/es_pf/adjuntos/politica
_firma_izenpe_v1_5.pdf");
o Eta CAdES sinaduretarako
setProperty(CADES_SIGNATURE_POLICY_OID, "1.3.6.1.4.1.14777");
.setProperty(CADES_SIGNATURE_POLICY_HASH,
"MeyJB7Su/xRvuxbZPiqjk8c5PnFPhr3XKyqlql+48CI=");
setProperty(CADES_SIGNATURE_POLICY_HASHALGO, "SHA-256");
MAC liburutegien zerrendari PKCS11 Bit4Id liburutegiak gehitzea
/System/Library/Izenpe/pkcs11/libbit4ipki.dylib
MACen txartel kriptografikoa detektatzeko arazoak konpontzea
Windows PKCS11 liburutegietan aldaketak egitea haien kokapenerako bide‐izen
absolutuak eraman ditzaten
PKCS11 Bit4Id liburutegiarekin PINa behin baino gehiago ez eskatzeko aldaketa
Windows-en output ‘file’ motako XAdES sinadurak sortzean fitxategiaren encoding-a
zuzentzea
v1.5.5
Ziurtagiriaren ezeztatze-egoera egiaztatzea desgaitzeko parametroa
Parametro berri bat gehitu da, ziurtagiri sinatzailearen ezeztatze-egoera egiaztatzen duen OCSP
deia desgaitzeko aukera ematen duena.
applet.setOption("dlgcertsel-enableocsp ","0");
Erabiltzaile-interfazearen itxura zuzentzea (look and feel)
Applet-aren erabiltzaile-interfazeak itxura jakin bat zuen lehen aldiz sinatzen zenean, baina
nabigatzailea freskatzean edo hainbat sinadura egitean itxura aldatu egiten zen. Portaera hori
zuzendu egin da, itxura beti hasierakoa izan dadin.
v1.5.6
PKCS11 bidez kargatzean PINaren eskaera zuzendu da
Orain arte PKCS11 bidezko kargetan PINa eskatzeko elkarrizketa bistaratzen zen sinadura
bakoitzean, are txartelaren middelware-ak behar ez zuenean ere. Portaera hori zuzendu egin
da, middelware-ak eskatzen duenean soilik eska dadin PINa.
PKCS11 bidez kargatzean “txartela blokeatuta” errorea bistaratzea
Orain, PKCS11 bidez kargatzen saiatzean, erabiltzaile-interfazean txartela blokeatuta dagoen
adierazten da, eta applet-ak errore-kode hau itzultzen du: ERR_PIN_LOCKED
v1.5.7
Sinadurari OCSP ziurtagirien baliozkotzeak gehitu zaizkio
Ziurtagiri sinatzailearen eta denbora zigilatzearen baliozkotzean esku hartzen duten OCSP
ziurtagiri guztien baliozkotzea gehitu zaio sinadurari.
Horrela, IZENPEn gauzatzen ari den azpiegitura-aldaketaren ondoren, ZAINek behar bezala
baliozkotzen ditu sinadurak azpiegitura berri horren gainean.
v1.5.8
Encoding-a zuzendu da zifratzeko eta deszifratzeko metodoetan
Orain bi metodoek (cipher eta decipher) UTF-8 encoding-a erabiltzen dute applet-aren
sarrerako/irteerako parametroak testu motakoak (inline-text) direnean.
v1.5.9
NANe erabiltzeko Izenperen driver-aren euskarria
Erabiltzaileak bide-izen hauetan instalatu behar du NANe-aren driver-a, applet-ak behar bezala
detekta dezan:
"/usr/lib/dniepkcs11.so" (unix 32)
"/usr/lib64/dniepkcs11.so" (unix 64)
v1.6.1
XAdES enveloping sinaduretan nodo espezifiko bat sinatzeko aukera
Applet-ean bi propietate berri gehitu dira ezaugarri hori kudeatzeko: “xades-node-to-signname” nodo jakin bat zehazteko.
“xades-node-to-sign-root” erroko nodoa edo nodo edukitzaile bat txandakatzeko (ds:Object).
v1.6.2
Java 7 update 21 eta berriagoetan kode ez-fidagarriaren abisua saihestea
Javaren azken bertsioetan kode ez-fidagarriaz ohartarazteko elkarrizketa agertzen zen. Aldaketa
bat egin da Idazkin elkarrizketa hori ager ez dadin.
v1.6.3 – Oracle-ren RIAetara egokitzea
Java 7 update 51-rako (1.7.2-z berbera da, baina zylk.net-ek sinatua) behar diren
baimen-propietateak sartu dira.
Hainbat propietate gehitu dira MANIFESTean, RIAetarako (Rich Internet Application Internet Aplikazio Aberastuak) ezarritako eskakizunak betetzeko. New security
requierements for RIAs.
v1.7.0 – BiscayTIK adarkatzea
Emaitzazko applet-aren tamaina murriztu egin da, proguard-en konfigurazioaren
optimizazioaren bidez.
Birfaktorizazioa. Mendeko liburutegiak detektatu dira eta automatizazio-prozesu bat
sortu da haien gainean adabakiak egiteko.
Modu asinkronoko metodoak, interfazea blokeatzea saihesteko. #setCryptoStoreAuto
eta #sign-ek orain beste 2 parametro jasotzen dituzte succes/error callback-etik
(arrakasta/errorea atzeradeia).
v1.7.0 [w] – BiscayTIK adarkatzea
Wrapped bertsioa. Java-ren gainean instalatutako beste liburutegi batzuekiko gatazkak
saihesteko bertsioa.
v1.7.1 – Branch Merge (adar-konbinazioa)
Adar-konbinazioa: 1.7.0.w eta 1.6.2
v1.7.2 – Oracle-ren RIAetara egokitzea
Java 7 update 51-rako (1.7.2-z berbera da, baina zylk.net-ek sinatua) behar diren
baimen-propietateak sartu dira.
Hainbat propietate gehitu dira MANIFESTean, RIAetarako (Rich Internet Application Internet Aplikazio Aberastuak) ezarritako eskakizunak betetzeko. New security
requierements for RIAs.
v1.7.3 – CAdES Test
Proguard-en optimizazioa ezabatu da CAdES testa funtzionala izan dadin.