ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:smartcard:smartcardmanager

SmartCardManager Sınıfı

Dağıtılan paket içinde örnek kodlar bölümünde SmartCardManager sınıfını bulabilirsiniz. Kendinize göre uyarlayabilmeniz için açık kaynak olarak dağıtılmaktadır. Bu sınıf ile temel imza işlemlerinizi gerçekleştirebilirsiniz. Sınıf aşağıdaki işlemleri sağlayabilir.

  1. Sisteme bir kart takılı ve kartta belirtilen özellikte bir sertifika varsa doğrudan bu kart ve bu sertifika üzerinden işlem yapar.
  2. Birden fazla kart takılı ise kullanıcıya kart seçtirir. Belirtilen özellikte birden fazla sertifika yüklü ise kullanıcıya sertifika seçtirir.
  3. Eğer APDU ile karta erişilmek isteniyorsa ve kart APDU ile erişimi destekliyorsa APDU ile karta erişim sağlar. C# tarafında APDU erişimi olmadığından sadece pkcs11 erişimi sağlanmaktadır.
  4. Aynı kart ile yapılan imzalama işlemlerinde, sertifikayı ve imzacıyı bellekten çekerek hızlanma sağlar.
  5. Bir kart ile işlem yaptıktan sonra eğer yeni bir kart takılmışsa veya işlem yapılan kart çıkartılmışsa kart ve sertifika seçme işlemlerini tekrarlar.

Örnek bir kullanım aşağıdaki gibi olabilir.

//Enable APDU usage
SmartCardManager.useAPDU(true);
//Connect a smartcard. If more than one smart card connected, user selects one of them
SmartCardManager scm = SmartCardManager.getInstance();
		
//Get qualified certificate. If more than one qualified certificate, user selects one of them.
ECertificate cert = scm.getSignatureCertificate(true, false);
//Create signer
BaseSignersigner = scm.getSigner("12345", cert);
		
/**
 * Create signature
 */
	
//If not sign again with selected card logout.
scm.logout();
//To select new card and new certificate, call reset.
scm.reset();

Yeni bir kartın takılıp takılmadığı ve seçili kartın çıkartılıp çıkartılmadığı getInstance() methodu içinde kontrol edilmektedir. Her imzalama işleminden önce SmartCardManager nesnesini getInstance() methodu ile alınız. Yukarıdaki örnek kodda işlemler kısa zamanda ardışık olarak yapıldığından nesne bir kere alınmış ve o nesne üzerinden işlem yapılmıştır.

esya/smartcard/smartcardmanager.txt · Son değiştirilme: 2013/08/28 08:39 Değiştiren: Beytullah Yiğit