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/22 10:09]
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ı veridir. 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.
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
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 213: Satır 215:
 ==== 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.1374487764.txt.gz · Son değiştirilme: 2013/07/22 10:09 Değiştiren: Beytullah Yiğit