ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:cades:imza-atma

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:cades:imza-atma [2013/07/24 10:21]
Beytullah Yiğit
esya:cades:imza-atma [2013/08/28 08:31] (mevcut)
Beytullah Yiğit
Satır 1: Satır 1:
-====== İmza Atma İşlemleri ​======+===== İmza Atma İşlemleri =====
  
 İmzalama işlemi genel olarak iki aşamada gerçekleşmektedir. Öncelikle imzacının sertifikasının doğrulanması yapılmaktadır,​ sonra imza atma işlemi gerçekleşmektedir. İmzalama işlemi genel olarak iki aşamada gerçekleşmektedir. Öncelikle imzacının sertifikasının doğrulanması yapılmaktadır,​ sonra imza atma işlemi gerçekleşmektedir.
  
-===== İmzasız Bir Verinin İmzalanması ​=====+==== İmzasız Bir Verinin İmzalanması ====
  
-Veriyi imzalama işleminden BaseSignedData sınıfı sorumludur. Bu  sınıfa öncelikle addContent(…) ​ fonksiyonu ile imzalanacak veri eklenmelidir. ​ addContent(…) ​ fonksiyonu yalnızca bir  kere   ​çağrılmalıdır. ​ İmzalanacak veri addContent(…) ​ ile  eklendikten sonra değiştirilemez. addSigner(…) fonksiyonu ile veriye imza bilgileri eklenir.+Veriyi imzalama işleminden ​''​BaseSignedData'' ​sınıfı sorumludur. Bu  sınıfa öncelikle ​''​addContent(…)'' ​ ​fonksiyonu ile imzalanacak veri eklenmelidir.  ​''​addContent(…)'' ​ ​fonksiyonu yalnızca bir  kere   ​çağrılmalıdır. ​ İmzalanacak veri ''​addContent(…)'' ​ ​ile ​ eklendikten sonra değiştirilemez. ​''​addSigner(…)'' ​fonksiyonu ile veriye imza bilgileri eklenir.
  
-İmza eklenirken imzanın türü, imzacının sertifikası,​ imza işlemini gerçekleştirecek kripto ​ nesnesi, varsa   ​ekstra ​  imza özellikleri ​ ve  imza  üretiminde ​ kullanılması ​ gereken parametreler addSigner(…) fonksiyonuna parametre olarak geçilmelidir. İmza atan örnek kod bloğu:+İmza eklenirken imzanın türü, imzacının sertifikası,​ imza işlemini gerçekleştirecek kripto ​ nesnesi, varsa   ​ekstra ​  imza özellikleri ​ ve  imza  üretiminde ​ kullanılması ​ gereken parametreler ​''​addSigner(…)'' ​fonksiyonuna parametre olarak geçilmelidir. İmza atan örnek kod bloğu:
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 87: Satır 87:
 </​sxh>​ </​sxh>​
  
-===== İmzalı Bir Veriye İmza Eklenmesi =====+==== İmzalı Bir Veriye İmza Eklenmesi ==== 
 Bir veri birkaç kişi tarafından imzalanabilir. İmzalar iki şekilde atılabilir. ​ Bir veri birkaç kişi tarafından imzalanabilir. İmzalar iki şekilde atılabilir. ​
   - Paralel İmza Ekleme   - Paralel İmza Ekleme
   - Seri İmza Ekleme   - Seri İmza Ekleme
-==== Paralel İmza ====+ 
 +=== Paralel İmza ===
  
 Bu tür imzalarda bütün imzacıların imzaladıkları veri aynıdır. Bütün imzalar aynı seviyededir. Bir imzacının imzası dokümandan çıkartılırsa fark edilemez. Bu tür imzalarda bütün imzacıların imzaladıkları veri aynıdır. Bütün imzalar aynı seviyededir. Bir imzacının imzası dokümandan çıkartılırsa fark edilemez.
Satır 152: Satır 154:
 </​sxh>​ </​sxh>​
  
-==== Seri İmza ====+=== Seri İmza ===
  
-Seri imza eklerken, ​imzanın ​eklendiği seviyeye kadar  olan bütün imzacıların imzası ve imzalanmak istenen veri imzalanır. Dolayısıyla bir imzacının imzası çıkartılırsa o imzacıdan sonra imza atan imzacıların da imzalarının çıkartılması gerekmektedir.+Veriyi imzalayan ​imzanın ​imzalanmasıdır. Dolayısıyla bir imzacının imzası çıkartılırsa o imzacıdan sonra imza atan imzacıların da imzalarının çıkartılması gerekmektedir.
 Aşağıdaki kod örneğinde ilk imzacıya seri imza ekleniyor. Aşağıdaki kod örneğinde ilk imzacıya seri imza ekleniyor.
  
Satır 211: Satır 213:
 </​sxh>​ </​sxh>​
  
-===== Ayrık İmza =====+==== Ayrık İmza ====
  
-Ayrık imzada imzalanacak veri BaseSignedData.addContent(…) fonksiyonunun ikinci parametresi false verilerek atanır. +Ayrık imzada imzalanacak veri ''​BaseSignedData.addContent(…)'' ​fonksiyonunun ikinci parametresi false verilerek atanır. 
-Dahili ​imza ile büyük boyutlu dosyalar imzalanamaz. İmzanın yapısı gereği imzalanacak verinin hepsi belleğe alınmaktadır. Bundan dolayı büyük boyutlu dosyaların imzalanması için ayrık imza kullanmak gerekmektedir.+Bütünleşik ​imza ile büyük boyutlu dosyalar imzalanamaz. İmzanın yapısı gereği imzalanacak verinin hepsi belleğe alınmaktadır. Bundan dolayı büyük boyutlu dosyaların imzalanması için ayrık imza kullanmak gerekmektedir.
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 270: Satır 272:
 SmartCardManager.getInstance().logout();​ SmartCardManager.getInstance().logout();​
 </​sxh>​ </​sxh>​
 +
 +=== Ayrık İmzanın Bütünleşik İmzaya Çevrilmesi ===
 +
 +İmzalanan içerik ''​attachExternalContent''​ fonksiyonuna verilerek, ​ ayrık imza bütünleşik imzaya dönüştürülebilir.
 +
 +<sxh java;​title:​Java>​
 +byte[] input = AsnIO.dosyadanOKU(AYRIK_IMZA);​
 +BaseSignedData bs = new BaseSignedData(input);​
 +
 +File file = new File(IMZALANAN_ICERIK);​
 +ISignable signable = new SignableFile(file,​2048);​
 +bs.attachExternalContent(signable);​
 +</​sxh>​
 +
 +<sxh csharp;​title:​C#>​
 +byte[] input = AsnIO.dosyadanOKU(AYRIK_IMZA);​
 +BaseSignedData bs = new BaseSignedData(input);​
 +
 +FileInfo file = new FileInfo(IMZALANAN_ICERIK);​
 +ISignable signable = new SignableFile(file,​ 2048);
 +bs. attachExternalContent(signable);​
 +</​sxh>​
 +
esya/cades/imza-atma.1374661266.txt.gz · Son değiştirilme: 2013/07/24 10:21 Değiştiren: Beytullah Yiğit