Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.
esya:asic:eimza-asic-kutuphanesi [2013/07/25 06:05] Ahmet Yetgin [Basit Paket oluşturma] |
esya:asic:eimza-asic-kutuphanesi [2013/12/30 09:38] (mevcut) Ahmet Yetgin [İmza Geliştirme] |
||
---|---|---|---|
Satır 1: | Satır 1: | ||
- | ====== ASiC Eİmza Paketi Kütüphanesi ====== | + | ====== ASiC Eİmza Paketi ====== |
- | ESYA ASiC kütüphanesi ile ts—xxxx standardına uygun şekilde imza paketleri oluşturulabilmektedir. Bu sayede bir yada daha fazla imza, imzalanan veri(ler), ve doğrulama verileri bir zip dosyası içinde taşınabilmektedir. | + | ESYA ASiC kütüphanesi ile [[http://www.etsi.org/deliver/etsi_ts/102900_102999/102918/01.01.01_60/ts_102918v010101p.pdf | ETSI TS 102 918]] standardına uygun şekilde imza paketleri oluşturulabilmektedir. Bu sayede bir ya da daha fazla imza, imzalanan veri(ler), ve doğrulama verileri bir zip dosyası içinde taşınabilmektedir. |
- | Gerekler | + | |
- | ESYA API CMS Signature kütüphanesinin kullanılabilmesi için lisans dosyasına, sertifika doğrulama politikası ve sertifika deposu dosyalarına ihtiyacınız vardır. İmza doğrulama işlemi için ise yukarıdaki dosyalarla birlikte ESYA kütüphanesi yeterli olacaktır. Kanuni geçerliliği olan nitelikli imzaların atılabilmesi için ise güvenli bir donanım kullanılması zorunluğu vardır. Genel kullanım olarak akıllı kart kullanılmaktadır. Akıllı karta erişilebilmesi için akıllı kart okuyucusu sürücüsünün ve akıllı kartın sürücüsünün kurulması gerekmektedir. Akıllı kartın üreticisinin sağladığı kart izleme programı ile bilgisayarın karta erişimi kontrol edilebilir. | + | ===== Gerekler ===== |
+ | |||
+ | ESYA API ASiC Signature kütüphanesinin kullanılabilmesi için lisans dosyasına, sertifika doğrulama politikası ve sertifika deposu dosyalarına ihtiyacınız vardır. Bunu yanında CAdES ya da XAdES imza atma kütüphanesi atılacak imza türüne göre ihtiyaçlar arasındadır. | ||
+ | |||
+ | İmza doğrulama işlemi için ise yukarıdaki dosyalarla birlikte ESYA kütüphanesi yeterli olacaktır. Kanuni geçerliliği olan nitelikli imzaların atılabilmesi için güvenli bir donanım kullanılması zorunluğu vardır. Genel kullanım olarak akıllı kart kullanılmaktadır. Akıllı karta erişilebilmesi için akıllı kart okuyucusu sürücüsünün ve akıllı kartın sürücüsünün kurulması gerekmektedir. Akıllı kart üreticilerinin sağladığı bir kart izleme programı ile bilgisayarın karta erişimi ve kart içeriği kontrol edilebilir. | ||
===== Kavramlar ===== | ===== Kavramlar ===== | ||
Satır 23: | Satır 26: | ||
===== Anahtar API Arayüzleri ve Tasarım ====== | ===== Anahtar API Arayüzleri ve Tasarım ====== | ||
- | ==== ''SignaturePackageFactory'' ==== | + | ==== SignaturePackageFactory ==== |
- | İmza paketlerini oluşturmakta kullanılan static metodları barından sınıf. | + | İmza paketlerini oluşturmakta kullanılan static metodları barındıran sınıf. |
- | SignaturePackage | + | ==== SignaturePackage ==== |
- | + | ||
- | İçinde SignatureContainer ve imzalı veri(yi/leri) barındıran ZIP yapısını temsil eden sınıf. | + | |
- | İlgili SignatureContainer, Signature, Signable arayüzleri için Ortak Eimza Kütüphanesi dökümantasyonuna bakılabilir. | + | |
+ | İçinde ''SignatureContainer'' ve imzalı veri(yi/leri) barındıran ZIP yapısını temsil eden sınıf. | ||
+ | İlgili ''SignatureContainer'', ''Signature'', ''Signable'' arayüzleri için [[esya:ortakimza:eimza-ortak-kutuphanesi|Ortak Eimza Kütüphanesi]] dökümantasyonuna bakılabilir. | ||
===== Kütüphane Kullanımı ===== | ===== Kütüphane Kullanımı ===== | ||
Satır 56: | Satır 58: | ||
</sxh> | </sxh> | ||
- | Çoklu Paket Oluşturma | + | ==== Çoklu Paket Oluşturma ==== |
- | Paket Doğrulama | + | |
+ | <sxh java; title: Paketi okuyup imza(SignatureContainer) ekleme> | ||
+ | // read package from file | ||
+ | SignaturePackage sp = SignaturePackageFactory.readPackage(new Context(), inputFile); | ||
+ | |||
+ | // create new container in package | ||
+ | SignatureContainer sc = sp.createContainer(); | ||
+ | // create new signature in container | ||
+ | Signature s = sc.createSignature(CERTIFICATE); | ||
+ | |||
+ | // get signable from package | ||
+ | s.addContent(sp.getDatas().get(0), false); | ||
+ | s.sign(SIGNER); | ||
+ | |||
+ | // write | ||
+ | sp.write(new FileOutputStream(outFileName)); | ||
+ | </sxh> | ||
+ | ==== Paket Doğrulama ==== | ||
+ | |||
+ | <sxh java> | ||
+ | // read package from file | ||
+ | SignaturePackage sp = SignaturePackageFactory.readPackage(new Context(), inputFile); | ||
+ | |||
+ | // verify | ||
+ | PackageValidationResult pvr = sp.verifyAll(); | ||
+ | |||
+ | // check result | ||
+ | assert pvr.getResultType() == PackageValidationResultType.ALL_VALID; | ||
+ | </sxh> | ||
+ | ==== İmza Geliştirme ==== | ||
+ | |||
+ | <sxh java> | ||
+ | // read package from file | ||
+ | Context c = new Context(); | ||
+ | SignaturePackage sp = SignaturePackageFactory.readPackage(c, new File(fileName)); | ||
+ | |||
+ | // get first signature container | ||
+ | SignatureContainer sc = signaturePackage.getContainers().get(0); | ||
+ | |||
+ | // get first signature in container | ||
+ | Signature signature = sc.getSignatures().get(0); | ||
+ | |||
+ | // upgrade | ||
+ | signature.upgrade(SignatureType.ES_T); | ||
+ | |||
+ | signaturePackage.write(new FileOutputStream(outFileName)); | ||
+ | </sxh> | ||
- | İmza Geliştirme | ||
- | İmza ile ilgili daha fazla örnek için Ortak İmza Kütüphanesi dökümanına bakılmalıdır. | + | İmza ile ilgili daha fazla örnek için [[esya:ortakimza:eimza-ortak-kutuphanesi|Ortak İmza Kütüphanesi]] dökümanına bakılmalıdır. Bunun yanında bu dökümanda kodlar okunaklılık açısından kısa tutulmaya çalışılmıştır. [[esya:ortakimza:imza-api-kullanim|Burada]]ki İmza Profillerine Uygun İmza Atma bölümüne de göz atılmalıdır. |
+ | |Önceki: [[esya:pades:eimza-pades-kutuphanesi|PAdES E-İmza]]|[[:start|Ana sayfa]]| Sonraki: [[esya:cmszarf:cms-zarf|CMS Zarf]]| |