Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.
en:esya:asic:eimza-asic-kutuphanesi [2013/09/11 08:05] Dindar Öz oluşturuldu |
en:esya:asic:eimza-asic-kutuphanesi [2013/09/11 08:26] (mevcut) Dindar Öz |
||
---|---|---|---|
Satır 1: | Satır 1: | ||
====== ASiC Signature API ====== | ====== ASiC Signature API ====== | ||
- | 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. | + | ASiC signature packages as decribed in [[http://www.etsi.org/deliver/etsi_ts/102900_102999/102918/01.01.01_60/ts_102918v010101p.pdf | ETSI TS 102 918]] can be created by using ESYA ASiC Signature API. By using this structure, one ore more signature, signed data and validation data can be bundled into a single zip file. |
- | ===== Gerekler ===== | + | ===== Requirements ===== |
- | 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. | + | ASiC Signature API requires the licence file, certificate validation policy file and certificate store file. CAdES or XAdES API is also required according to the signature format used in the ASiC package.. |
- | İ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. | + | For qualified signatures, use of a secure hardware is compulsory. Usually, smartcards are used for this purpose. To access smartcard, the driver for the smartcard reader and the smartcard must be set up in the target machine. A utility application to view the contents of smartcard can be obtained from card manufacturers. |
- | ===== Kavramlar ===== | + | ===== Concepts ===== |
- | ==== Paket Tipi ==== | + | ==== Package Type ==== |
<code java> | <code java> | ||
Satır 21: | Satır 21: | ||
</code> | </code> | ||
- | | **Basit (ASIC_S)** | Paket içinde bir imza ve veri bulunur. | | + | | **Basit (ASIC_S)** | Single signature and single data. | |
- | | **Extended (ASIC_E)** | Paket içinde bir yada birden fazla veri ve bir yada birden fazla imza bulunur. Bir imza birden fazla veriyi imzalamış olabilir. | | + | | **Extended (ASIC_E)** | One or more signature and one or more data. Single signature for multiple data may also exist. | |
- | ===== Anahtar API Arayüzleri ve Tasarım ====== | + | ===== Key Interfaces and Design ====== |
==== SignaturePackageFactory ==== | ==== SignaturePackageFactory ==== | ||
- | İmza paketlerini oluşturmakta kullanılan static metodları barındıran sınıf. | + | It contains static methods used for signature creation. |
==== SignaturePackage ==== | ==== SignaturePackage ==== | ||
- | İçinde ''SignatureContainer'' ve imzalı veri(yi/leri) barındıran ZIP yapısını temsil eden sınıf. | + | It represents the ZIP structure containing ''SignatureContainer'' and signed data. |
- | İlgili ''SignatureContainer'', ''Signature'', ''Signable'' arayüzleri için [[esya:ortakimza:eimza-ortak-kutuphanesi|Ortak Eimza Kütüphanesi]] dökümantasyonuna bakılabilir. | + | For the interfaces ''SignatureContainer'', ''Signature'', and ''Signable'', see [[en:esya:ortakimza:eimza-ortak-kutuphanesi|Common Signature API]]. |
- | ===== Kütüphane Kullanımı ===== | + | |
- | ==== Basit Paket oluşturma ==== | + | ===== API Usage ===== |
+ | |||
+ | ==== A Simple Package Creation ==== | ||
<sxh java> | <sxh java> | ||
Context c = new Context(); | Context c = new Context(); | ||
- | SignatureFormat format = SignatureFormat.CAdES; // SignatureFormat.XAdES de olabilir | + | SignatureFormat format = SignatureFormat.CAdES; // Can also be SignatureFormat.XAdES |
SignaturePackage signaturePackage = SignaturePackageFactory | SignaturePackage signaturePackage = SignaturePackageFactory | ||
.createPackage(c, PackageType.ASiC_S, format); | .createPackage(c, PackageType.ASiC_S, format); | ||
- | // imzalanacak dosyayı pakete ekle | + | // Add data to be signed |
Signable inPackage = signaturePackage.addData(new SignableFile(dataFile, "text/plain"), "sample.txt"); | Signable inPackage = signaturePackage.addData(new SignableFile(dataFile, "text/plain"), "sample.txt"); | ||
SignatureContainer container = signaturePackage.createContainer(); | SignatureContainer container = signaturePackage.createContainer(); | ||
Signature signature = container.createSignature(CERTIFICATE); | Signature signature = container.createSignature(CERTIFICATE); | ||
- | // paketteki imzalanacak veriyi imzaya ver(false=veriyi imzanın içine ayrıca ekleme) | + | // Add data to be signed(false=data is not included in the signature) |
signature.addContent(inPackage, false); | signature.addContent(inPackage, false); | ||
signature.sign(SIGNER); | signature.sign(SIGNER); | ||
- | // paketi dosyaya yaz | + | // write the package |
signaturePackage.write(new FileOutputStream(fileName)); | signaturePackage.write(new FileOutputStream(fileName)); | ||
</sxh> | </sxh> | ||
- | ==== Çoklu Paket Oluşturma ==== | + | ==== Multiple signatures ==== |
- | <sxh java; title: Paketi okuyup imza(SignatureContainer) ekleme> | + | <sxh java; title: Reading and Updating Package(SignatureContainer)> |
// read package from file | // read package from file | ||
SignaturePackage sp = SignaturePackageFactory.readPackage(new Context(), inputFile); | SignaturePackage sp = SignaturePackageFactory.readPackage(new Context(), inputFile); | ||
Satır 76: | Satır 77: | ||
sp.write(new FileOutputStream(outFileName)); | sp.write(new FileOutputStream(outFileName)); | ||
</sxh> | </sxh> | ||
- | ==== Paket Doğrulama ==== | + | ==== Verification ==== |
<sxh java> | <sxh java> | ||
Satır 88: | Satır 89: | ||
assert pvr.getResultType() == PackageValidationResultType.ALL_VALID; | assert pvr.getResultType() == PackageValidationResultType.ALL_VALID; | ||
</sxh> | </sxh> | ||
- | ==== İmza Geliştirme ==== | + | ==== Signature Upgrade ==== |
<sxh java> | <sxh java> | ||
Satır 107: | Satır 108: | ||
</sxh> | </sxh> | ||
+ | For more examples, see [[en:esya:ortakimza:eimza-ortak-kutuphanesi|Common Signature API]]. The codes listed here are kept short for the sake of readability. You can also check [[esya:ortakimza:imza-api-kullanim|here]]. | ||
- | İ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. | + | |Previous: [[en:esya:xades:eimza-xades-kutuphanesi|XAdES Signature API]]|[[:start_en|Home]]| Next: [[en:esya:cmszarf:cms-zarf|CMS Envelope]]| |
- | + | ||
- | |Önceki: [[esya:xades:eimza-xades-kutuphanesi|XAdES Eİmza]]|[[:start|Ana sayfa]]| Sonraki: [[esya:cmszarf:cms-zarf|CMS Zarf]]| | + |