ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:smartcard:sertifika-okuma

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:smartcard:sertifika-okuma [2013/07/24 07:46]
Beytullah Yiğit
esya:smartcard:sertifika-okuma [2013/08/29 05:13] (mevcut)
Beytullah Yiğit
Satır 1: Satır 1:
 ===== Akıllı Kartan Sertifikanın Okunması ===== ===== Akıllı Kartan Sertifikanın Okunması =====
  
-Akıllı ​ karttan ​ sertifika ​ SmartCard ​ sınıfının ​ getSignatureCertificates() ​ veya getEncryptionCertificates() ​ fonksiyonları ​ ile  okunabilir. ​ Eğer imzalama işlemi yapılacaksa getSignatureCertificates() fonksiyonu, şifreleme işlemi yapılacaksa getEncryptionCertificates() fonksiyonu kullanılmalıdır.Bu fonksiyonlar sertifikaların kodlanmış hallerini byte [] olarak dönerler. Eğer ESYA API-ASN modülünü (ma3api-asn-....jar ​ /  ma3api-asn.dll) kullanabiliyorsanız, ​ karttan ​ aldığınız ​ byte değerlerini anlamlı ​ hale getirmek için ECertificate sınıfını ​ kullanabilirsiniz.+Akıllı ​ karttan ​ sertifika  ​''​SmartCard'' ​ ​sınıfının  ​''​getSignatureCertificates()'' ​ ​veya ​''​getEncryptionCertificates()'' ​ ​fonksiyonları ​ ile  okunabilir. ​ Eğer imzalama işlemi yapılacaksa ​''​getSignatureCertificates()'' ​fonksiyonu, şifreleme işlemi yapılacaksa ​''​getEncryptionCertificates()'' ​fonksiyonu kullanılmalıdır.Bu fonksiyonlar sertifikaların kodlanmış hallerini byte [] olarak dönerler. Eğer ESYA API-ASN modülünü (ma3api-asn-....jar ​ /  ma3api-asn.dll) kullanabiliyorsanız, ​ karttan ​ aldığınız ​ byte değerlerini anlamlı ​ hale getirmek için ''​ECertificate'' ​sınıfını ​ kullanabilirsiniz.
    
-Atılacak imzanın kanuni yükümlülüklerinin olması için imzalamada kullanılan sertifikanın nitelikli olması ​ gerekmektedir. Bu kontrol ECertificate sınıfının isQualifiedCertificate() fonksiyonu ile yapılabilir. +Atılacak imzanın kanuni yükümlülüklerinin olması için imzalamada kullanılan sertifikanın nitelikli olması ​ gerekmektedir. Bu kontrol ​''​ECertificate'' ​sınıfının ​''​isQualifiedCertificate()'' ​fonksiyonu ile yapılabilir. 
-ECertificate ​ sınıfının ​ getSubject().stringValue() ​ fonksiyonu ​ ile  sertifikalar ​ birbirinden ayırt edilebilir. Kullanıcı ​ bu bilgi ile seçim yapabilir.+''​ECertificate'' ​ ​sınıfının  ​''​getSubject().stringValue()'' ​ ​fonksiyonu ​ ile  sertifikalar ​ birbirinden ayırt edilebilir. Kullanıcı ​ bu bilgi ile seçim yapabilir.
  
-Ayrıca ​ ECertificate ​ sınıfının ​ getSubject().getCommonNameAttribute() ​ fonksiyonu, sertifika ​ sahibinin ​ ismini ​ dönmektedir. ​ Karttaki ​ sertifikaların ​ isim  bilgisi, ​ tüm sertifikalar için  aynı olacağından, ​ karttaki ​ sertifikaları ayırt ​ etmek  amacıyla ​ kullanılamaz. ​ İmzayı kimin attığını göstermek için kullanılabilir.+Ayrıca  ​''​ECertificate'' ​ ​sınıfının  ​''​getSubject().getCommonNameAttribute()'' ​ ​fonksiyonu,​ sertifika ​ sahibinin ​ ismini ​ dönmektedir. ​ Karttaki ​ sertifikaların ​ isim  bilgisi, ​ tüm sertifikalar için  aynı olacağından, ​ karttaki ​ sertifikaları ayırt ​ etmek  amacıyla ​ kullanılamaz. ​ İmzayı kimin attığını göstermek için kullanılabilir.
  
 Aşağıdaki kod bloğu akıllı kart içinden imzalama sertifikalarını alır ve nitelikli olanların subject alanını ​ ekrana yazar. Aşağıdaki kod bloğu akıllı kart içinden imzalama sertifikalarını alır ve nitelikli olanların subject alanını ​ ekrana yazar.
Satır 30: Satır 30:
 </​sxh>​ </​sxh>​
  
-Eğer  ESYA  API-ASN ​ sınıflarına ​ erişim ​ yoksa, ​ ECertificate ​ yerine ​   java'​nın x509Certificate ​ sınıfı ​ kullanılabilir. ​ ECertificate ​ sınıfının ​ isQualifiedCertificate() ​ fonksiyonu yerine aşağıdaki ​ örnek kodda gösterildiği ​ gibi  kontrol ​ yapılabilir. ​ Sertifikaları ​ birbirinden ​ ayırt etmek amacıyla x509Certificate sınıfının getSubjectDN().toString() metodu kullanılabilir.+Eğer  ESYA  API-ASN ​ sınıflarına ​ erişim ​ yoksa,  ​''​ECertificate'' ​ ​yerine ​   java'​nın ​''​x509Certificate'' ​ ​sınıfı ​ kullanılabilir.  ​''​ECertificate'' ​ ​sınıfının  ​''​isQualifiedCertificate()'' ​ ​fonksiyonu yerine aşağıdaki ​ örnek kodda gösterildiği ​ gibi  kontrol ​ yapılabilir. ​ Sertifikaları ​ birbirinden ​ ayırt etmek amacıyla ​''​x509Certificate'' ​sınıfının ​''​getSubjectDN().toString()'' ​metodu kullanılabilir.
  
 Aşağıdaki ​ kod  bloğu ​ akıllı ​ kart  içinden ​ imzalama ​ sertifikalarını ​ alır ve  nitelikli ​ olanların Subject alanını ​ ekrana yazar. Aşağıdaki ​ kod  bloğu ​ akıllı ​ kart  içinden ​ imzalama ​ sertifikalarını ​ alır ve  nitelikli ​ olanların Subject alanını ​ ekrana yazar.
Satır 50: Satır 50:
  
 Akıllı kartta bulunan sertifika, ​ açık anahtar ve özel anahtarın her biri nesne olarak adlandırılır. ​ Akıllı karttaki nesnelerin adı ile de işlem yapılabilir. ​ Nesne adları değişken olabileceğinden nesne adları ile işlem yapmak önerilmez. Yalnız bazı durumlarda nesne adları kullanıcıya daha anlamlı gelebilir. ​ Akıllı kartta bulunan sertifika, ​ açık anahtar ve özel anahtarın her biri nesne olarak adlandırılır. ​ Akıllı karttaki nesnelerin adı ile de işlem yapılabilir. ​ Nesne adları değişken olabileceğinden nesne adları ile işlem yapmak önerilmez. Yalnız bazı durumlarda nesne adları kullanıcıya daha anlamlı gelebilir. ​
-SmartCard sınıfının getSignatureKeyLabels(...) ​ ve getEncryptionKeyLabels(...) fonksiyonları ile anahtarların adları okunabilir. Eğer anahtarın, sertifikasının adı anahtarla aynı ise bu ad ile sertifika da okunabilir. ​ Sertifikanın ​ okunması ​ için  readCertificate(long aSessionID,​String aLabel) fonksiyonu kullanılabilir.+''​SmartCard'' ​sınıfının ​''​getSignatureKeyLabels(...)'' ​ ​ve ​''​getEncryptionKeyLabels(...)'' ​fonksiyonları ile anahtarların adları okunabilir. Eğer anahtarın, sertifikasının adı anahtarla aynı ise bu ad ile sertifika da okunabilir. ​ Sertifikanın ​ okunması ​ için  ​''​readCertificate(long aSessionID,​String aLabel)'' ​fonksiyonu kullanılabilir.
  
esya/smartcard/sertifika-okuma.1374652016.txt.gz · Son değiştirilme: 2013/07/24 07:46 Değiştiren: Beytullah Yiğit