Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.
esya:cades:sertifika-dogrulama [2013/07/24 11:42] Beytullah Yiğit [Sertifika Doğrulama] |
esya:cades:sertifika-dogrulama [2013/08/27 13:31] (mevcut) Beytullah Yiğit [Sertifika Doğrulama] |
||
---|---|---|---|
Satır 1: | Satır 1: | ||
===== Sertifika Doğrulama ===== | ===== Sertifika Doğrulama ===== | ||
- | İ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. | + | İ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. |
- | İ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 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. |
==== İmzacıların Alınması ==== | ==== İ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 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 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. | + | İmza işlemlerinde, imza atan kişiyi tanımlama işlemi kişinin sertifikası üzerinden yapılmaktadır. Sertifikanın 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> | <sxh java;title:Java> | ||
Satır 20: | 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> | </sxh> | ||
+ | |||
<sxh csharp;title:C#> | <sxh csharp;title:C#> | ||
BaseSignedData bsd = new BaseSignedData(signedData); | BaseSignedData bsd = new BaseSignedData(signedData); |