ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:cades:sertifika-dogrulama

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:sertifika-dogrulama [2013/07/22 11:08]
Beytullah Yiğit created
esya:cades:sertifika-dogrulama [2013/08/27 13:31] (mevcut)
Beytullah Yiğit [Sertifika Doğrulama]
Satır 1: Satır 1:
-4.10 Sertifika Doğrulama +===== Sertifika Doğrulama ​=====
-İmza atma işleminden önce sertifika doğrulaması yapılmaktadır. Bunun amacı iptal edilmiş veya hatalı bir sertifika ile imza atılmasının önlenmesidir. İmzacının sertifikasının doğrulanması parametreler yardımıyla devre dışı bırakılabilir. Bu işlem için Parametreler bölümünde yer alan P_VALIDATE_CERTIFICATE_BEFORE_SIGNING ​  +
-parametresini inceleyebilirsiniz. +
-Eğer sertifika doğrulamasında bir hata çıkarsa CertificateValidationException hatası fırlatılmaktadır. Sertifika doğrulama ile ilgili ayrıntılı bilgi için Sertifika Doğrulama bölümüne bakabilirsiniz.+
  
-İmza atarken ve imza doğrulama sırasında CMS  Signature kütüphanesi imzacıların sertifikalarını doğrular. Sertifika doğrulama ​işleminin detayları için Sertifika Doğrulama ​Dökümanı”’na başvurulmalıdır.Bu dökümanda ayrıntılı bir şekilde açıklanan ve sertifikaların doğrulama işlemlerinin nasıl yapılacağını ​belirtensertifika ​doğrulama politikası EParameters.P_CERT_VALIDATION_POLICY ​parametresi ile ValidationPolicy nesnesi tipinde verilir. +İmza atma işleminden önce sertifika doğrulaması yapılmaktadır. Böylece iptal edilmiş veya hatalı bir sertifika ile imza atılması önlenir. İmzacının sertifikasının doğrulanması parametreler yardımıyla devre dışı bırakılabilir. Bu işlem için [[esya:​cades:​imza-parametreler|Parametreler]] bölümünde yer alan ''​P_VALIDATE_CERTIFICATE_BEFORE_SIGNING''​ parametresini inceleyebilirsiniz. 
-4.15.1 ​İmzacıların Alınması + 
-İmza yapısı BaseSignedData sınıfı tarafından işlenmektedir. ​ Bu yapıda seri ve paralel imzacılar bir ağaç yapısında bulunmaktadırlar. BaseSignedData sınıfının getSignerList() fonksiyonu ile birinci seviye imzacılar alınmaktadır. Sadece ​ paralel imza atılmışsa ​ getSignerList() fonksiyonu ile bütün imzacılar alınmış olur. Seri imzacıları almak için ise seri imzacıları alınmak istenen imzacının getCounterSigners() fonksiyonu çağrılmalıdır. Eğer imza seviyeleri önemli değilse BaseSignedData sınıfının getAllSignerList() fonksiyonu kullanılarak bütün imzacılar alınabilir. Daha ayrıntılı bilgi için örnek kodlar içinde yer alan SignersInJTree sınıfını inceleyebilirsiniz. +İmza atarken ve imza doğrulama sırasında CMS  Signature kütüphanesi imzacıların sertifikalarını doğrular. Eğer sertifika doğrulamasında bir hata çıkarsa ''​CertificateValidationException''​ hatası fırlatılmaktadır. Sertifika doğrulama ​ile ilgili ayrıntılı bilgi için [[esya:​sertifika:​sertifika-dogrulama|Sertifika Doğrulama]] bölümüne bakabilirsiniz. Bu dökümanda ayrıntılı bir şekilde açıklanan ve sertifikaların doğrulama işlemlerinin nasıl yapılacağını ​belirten sertifika ​doğrulama politikası ​''​EParameters.P_CERT_VALIDATION_POLICY''​ parametresine ''​ValidationPolicy'' ​nesnesi tipinde verilir. 
-İmza işlemlerinde imza atan kişiyi tanımlama işlemi kişinin sertifikası üzerinden yapılmaktadır. ​Yalnız genel davranış olarak sertifika ​imza yapısına ​konur. ESYA kütüphanesinde de sertifika imza yapısına eklenmektedir. Sertifikadan,​ kişinin ismi ve Türkiye için TC. kimlik numarası alınabilir. + 
-Java+==== İmzacıların Alınması ​==== 
 + 
 +İmza yapısı ​''​BaseSignedData'' ​sınıfı tarafından işlenmektedir. ​ Bu yapıda seri ve paralel imzacılar bir ağaç yapısında bulunmaktadırlar. ​''​BaseSignedData'' ​sınıfının ​''​getSignerList()'' ​fonksiyonu ile birinci seviye imzacılar alınmaktadır. Sadece ​ paralel imza atılmışsa  ​''​getSignerList()'' ​fonksiyonu ile bütün imzacılar alınmış olur. Seri imzacıları almak için ise seri imzacıları alınmak istenen imzacının ​''​getCounterSigners()'' ​fonksiyonu çağrılmalıdır. Eğer imza seviyeleri önemli değilseBaseSignedData sınıfının getAllSignerList() fonksiyonu kullanılarak bütün imzacılar alınabilir. Daha ayrıntılı bilgi için örnek kodlar içinde yer alan SignersInJTree sınıfını inceleyebilirsiniz. 
 + 
 +İmza işlemlerindeimza atan kişiyi tanımlama işlemi kişinin sertifikası üzerinden yapılmaktadır. ​Sertifikanıimza yapısına ​eklenmesi genel olarak tercih edilmektedir. ESYA kütüphanesinde de sertifika imza yapısına eklenmektedir. Sertifikadan,​ kişinin ismi ve Türkiye için TC. kimlik numarası alınabilir. 
 + 
 +<sxh java;title:Java>
 BaseSignedData bsd = new BaseSignedData(signedData);​ BaseSignedData bsd = new BaseSignedData(signedData);​
 ECertificate cert = bsd.getSignerList().get(0).getSignerCertificate();​ ECertificate cert = bsd.getSignerList().get(0).getSignerCertificate();​
Satır 17: Satır 20:
 } else { } else {
  
- System.out.println("​İsim & Soyisim: " +  + System.out.println("​İsim & Soyisim: " + cert.getSubject().getCommonNameAttribute());​ 
-                          ​cert.getSubject().getCommonNameAttribute());​ + System.out.println("​TC Kimlik No: " + cert.getSubject().getSerialNumberAttribute());​
- System.out.println("​TC Kimlik No: " +  +
-                          ​cert.getSubject().getSerialNumberAttribute());​+
 } }
 +</​sxh>​
  
-C#+<sxh csharp;​title:​C#>
 BaseSignedData bsd = new BaseSignedData(signedData);​ BaseSignedData bsd = new BaseSignedData(signedData);​
 ECertificate cert = bsd.getSignerList()[0].getSignerCertificate();​ ECertificate cert = bsd.getSignerList()[0].getSignerCertificate();​
Satır 36: Satır 38:
 Console.WriteLine("​TC Kimlik No: " + cert.getSubject().getSerialNumberAttribute());​ Console.WriteLine("​TC Kimlik No: " + cert.getSubject().getSerialNumberAttribute());​
 } }
 +</​sxh>​
esya/cades/sertifika-dogrulama.1374491299.txt.gz · Son değiştirilme: 2013/07/22 11:08 Değiştiren: Beytullah Yiğit