ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:ortakimza:eimza-ortak-kutuphanesi

Farklar

Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.

Karşılaştırma görünümüne bağlantı

esya:ortakimza:eimza-ortak-kutuphanesi [2013/07/15 08:42]
Ahmet Yetgin
esya:ortakimza:eimza-ortak-kutuphanesi [2013/08/19 05:42] (mevcut)
Dindar Öz
Satır 1: Satır 1:
-====== ​Ortak E-İmza Kütüphanesi ======+====== Eİmza ​Ortak Kütüphanesi ======
  
  
-ESYA Eİmza Ortak kütüphanesi ile farklı format ve tiplerde imzaların ortak programlama arayüzleri ile kullanılabilmesi sağlanmıştır. Elektronik imza hakkında daha fazla bilgiyi ​Bölüm 2 Elektronik İmza başlığında bulabilirsiniz.+ESYA Eİmza Ortak kütüphanesi ile farklı format ve tiplerde imzaların ortak programlama arayüzleri ile kullanılabilmesi sağlanmıştır. Elektronik imza hakkında daha fazla bilgiyi ​[[esya:​eimza:​elektronik-imza|Elektronik İmza]] başlığında bulabilirsiniz.
  
  
Satır 8: Satır 8:
  
  
-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+Eİmza Ortak kütüphanesinin kullanılabilmesi için lisans dosyasına, sertifika doğrulama politikası, konfigürasyon dosyası 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 üreticilerinin ​sağladığı ​bir kart izleme programı ile bilgisayarın karta erişimi ​ve akıllı kart içeriği görüntülenebilir.
  
 +Hızlı bir başlangıç için [[esya:​quickstart|hızlı başlangıç bölümüne]] bakabilirsiniz.
  
-===== Kavramlar ve Arayüzler ​=====+**[[esya:​ortakimza:​imza-api-kavramlar-arayuzler|Kavramlar ve Arayüzler]]**
  
-==== İmza Formatı ====+Ortak imza kütüphanesi kavramları ve arayüzleri hakkında konsept bilgiler bu bölümde yer almaktadır.
  
-İmzayı oluşturan kodlama tipidir. ASN1 kodlamalı binary(CAdES),​ xml kodlamalı(XAdES) olmak üzere iki ana yapı bulunmaktadır. Desteklenen İmza formatları CAdES, XAdES. ​+**[[esya:​ortakimza:​imza-api-kullanim|İmza Kütüphanesi Kullanımı]]**
  
-==== İmza Tipi ====+Bu bölümde imza atma, geliştirme,​ doğrulama ve benzer işlemler kod ile birlikte örneklenmektedir.
  
-Eİmza standartları ile berlirlenmiş,​ bir imzanın içinde yer alan zaman damgası, doğrulama referansları gibi verilerin hangilerinin yer aldığını belirten yapılardır.  ​+**[[esya:​ortakimza:​imza-api-konfig|İmza Kütüphanesi Konfigürasyonu]]**
  
-=== İmza kütüphanesinin desteklediğimza tipleri ===+Bir konfigürasyon dosyası aracılığı ile imza atma ve doğrulama ayarları yapılmakta ve bu ayarlar çalışma zamanında değiştirilebilmektedir.
  
-^İmza Tipi ^ Özelliği ^ +|Önceki: [[esya:​sertifika:​sertifika-dogrulama|Sertifika ​Doğrulama]]|[[:start|Ana sayfa]]Sonraki[[esya:cades:eimza-cades-kutuphanesi|CAdES Eİmza]]|
-ES_BES | Basit(Basic) Elektronik İmza | +
-| ES_T | Zaman damgalı imza | +
-| ES_C | Doğrulama ​verisine referans var  +
-ES_X_Type1 ​Doğrulama verisi referansları ve imza değeri zaman damgalı |  +
-| ES_X_Type2 | Doğrulama verisi referansları zaman damgalı |  +
-| ES_XL | Doğrulama verisi imza içinde |  +
-| ES_XL_Type1 | Doğrulama verisi imza içinde ve doğrulama verisi referansları ve imza değeri zaman damgalı | +
-| ES_XL_Type2 | Doğrulama verisi imza içinde Doğrulama verisi referansları zaman damgalı |  +
-| ES_A | Arşiv fomatı(uzun ömürlü koruma) |  +
- +
- +
-==== Ayrık/​bütünleşik İmza ==== +
- +
-İmza verisinin imza içerisinde yer alıp almaması durumuna göre ayrık ve bütünleşik denilmektedir. ​  Bunun yanında XML imza formatına özel enveloped imza vardır. Enveloped imza standartlaştırılamadığı (custom) için ortak kütüphane tarafından desteklenmemektedir. Enveloped imza için XML İmza bölümüne bakabilirsiniz.  +
- +
-===== Anahtar API Arayüzleri ve Tasarım ===== +
- +
- +
-Bir kişinin ıslak imzasının,​ programlama arayüzü karşılığı Signature, ​ bir yada daha fazla imzayı içinde barındıran yapı SignatureContainer İmza formatına göre SignatureContainer yaratma amacı ile kullanılan arayüz SignatureFactory'​dir. +
- +
- +
-{{:esya:ortakimza:api_siniflari.png?​nolink&​899x624}} +
- +
- +
-İmza yaratıldığında ES-BES tipindedir. Daha kompleks bir imza tipine ''​Signature#​upgrade''​ metodu ile çevrilebilir. +
- +
-===== Kütüphane Kullanımı ===== +
- +
-==== İmza Atma ==== +
-<sxh java;​highlight:​[8,​11] ;title:Java & .NET> +
-// imza konteyneri yarat +
-SignatureContainer container = SignatureFactory.createContainer(SignatureFormat.CAdES, context); +
- +
-// konteyner içinde imza nesnesi oluştur +
-Signature signature = container.createSignature(certificate);​ +
- +
-// imzalanacak içerik ekle +
-signature.addContent(new SignableFile(file),​ false); +
- +
-// imzala +
-signature.sign(cardSigner);​ +
- +
-// imzayı yaz +
-container.write(new FileOuputStream(fileName));​ +
-</​sxh>​ +
- +
- +
- +
-==== Zaman damgalı(ES-T) ​İmza Atma ==== +
-<sxh java;​highlight:​[11];title:Java & .NET Code> +
-// konteyner içinde imza nesnesi oluştur +
-Signature signature = container.createSignature(certificate);​ +
- +
-// imzalanacak içerik ekle +
-signature.addContent(new SignableFile(file),​ false); +
- +
-// imzala +
-signature.sign(cardSigner);​ +
- +
-// imzayı zaman damgalı imza tipine geliştir +
-signature.upgrade(SignatureType.ES_T);​ +
- +
-// imzayı dosyaya yaz +
-container.write(new FileOuputStream(fileName));​ +
-</​sxh>​ +
- +
-==== Basit (ES-BES) İmzayı Zaman Damgalı İmzaya Çevirme ==== +
- +
-<sxh java; highlight:​[8]; title:Java Code> +
-// imza konteynerinidosyadan oku +
-SignatureContainer container = SignatureFactory.readContainer(fileInputStream);​ +
- +
-// ilk imzayı al +
-Signature signature = container.getSignatures().get(0);​ +
- +
-// imzayı zaman damgalı imza tipine geliştir +
-signature.upgrade(SignatureType.ES_T);​ +
- +
-// imzayı dosyaya yaz +
-container.write(new FileOuputStream(fileName));​ +
-</​sxh>​ +
- +
-<sxh csharp; highlight:​[8];​ title:.NET Code> +
-// imza konteynerinidosyadan oku +
-SignatureContainer container = SignatureFactory.readContainer(fileInputStream);​ +
- +
-// ilk imzayı al +
-Signature signature = container.getSignatures()[0];​ +
- +
-// imzayı zaman damgalı imza tipine geliştir +
-signature.upgrade(SignatureType.ES_T);​ +
- +
-// imzayı dosyaya yaz +
-container.write(new FileOuputStream(fileName));​ +
-</​sxh>​ +
-==== Gelişmiş (ES-XL) imza ==== +
- +
-Doğrulama bilgisini de içinde bulunduran imza tipi olan ES_XL tipinde imza oluşturmak için zaman damgalı imza atma örneklerindeki  +
- +
-<sxh java> +
-// imza oluştur +
-... +
-// ve geliştir +
-signature.upgrade(SignatureType.ES_T);​ +
-</​sxh>​ +
- +
-satırını  +
- +
-<sxh java> +
-// geliştir +
-signature.upgrade(SignatureType.ES_XL);​ +
-</​sxh>​ +
- +
-olarak değiştimek yeterlidir. +
- +
-==== İmza Doğrulama ==== +
- +
-İmza doğrulamada SignatureContainer içindeki verifyAll() metodu kullanılır. +
- +
-<sxh java; highlight:​[6];​ title:Java Code> +
-// imzayı oku +
-SignatureContainer container = SignatureFactory.readContainer(inputstream);​ +
-inputstream.close();​ +
- +
-// imza doğrula +
-ContainerValidationResult cvr = container.verifyAll();​ +
- +
-// imza yapısı içerisindeki bütün imzalar geçerli mi? +
-assertEquals(ContainerValidationResultType.ALL_VALID,​ cvr.getResultType());​ +
-</​sxh>​ +
- +
-<sxh csharp; highlight:​[6];​ title:.NET Code > +
-// imzayı oku +
-SignatureContainer container = SignatureFactory.readContainer(inputstream);​ +
-inputstream.Close();​ +
- +
-// imza doğrula +
-ContainerValidationResult cvr = container.verifyAll();​ +
- +
-// imza yapısı içerisindeki bütün imzalar geçerli mi? +
-Assert.AreEqual(ContainerValidationResultType.ALL_VALID,​ cvr.getResultType());​ +
-</​sxh>​+
esya/ortakimza/eimza-ortak-kutuphanesi.1373877728.txt.gz · Son değiştirilme: 2013/07/15 08:42 Değiştiren: Ahmet Yetgin