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 06:37]
Beytullah Yiğit created
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()  ​veyagetEncryptionCertificates()  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 APIasn ​modülünü (ma3api-asn-....jar ​ /  ma3api-asn.dll) kullanabiliyorsanız, ​ karttan ​ aldığınız  ​bytedeğ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 ​hü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 ​ileyapı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  ​birbirindenayı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()  ​fonksiyonusertifika ​ ​sahibinin ​ ismini ​ dönmektedir. ​ Karttaki ​ sertifikaların ​ isim  bilgisi  ​hepsi  ​için  aynıolacağından, ​ karttaki ​ sertifikaları ayırt ​ etmek  amacıyla ​ kullanılamaz.  ​Kimin imzayı 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ınitelikli olanların ​Subject ​alanını ​ ekrana ​basılmaktadır.+ 
 +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.
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 29: 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ıp  nitelikli ​ olanların Subject alanını ​ ekrana basmaktadır. 
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
 List<​byte []> certs = smartCard.getSignatureCertificates(session);​ List<​byte []> certs = smartCard.getSignatureCertificates(session);​
Satır 48: 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ı, anahtar adı ile 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ınsertifikası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.1374647833.txt.gz · Son değiştirilme: 2013/07/24 06:37 Değiştiren: Beytullah Yiğit