ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:cmszarf:cozuculer

Çözücüler

Kullanılacak çözücülerin IDecryptorStore arayüzünden türemiş olmaları gerekmektedir. IDecryptorStore arayüzünün iki metodu bulunmaktadır. getEncryptionCertificates() metodu çözücünün çözebilecegi sertifikaları verir. decrypt(…) metoduna, hangi sertifika ile şifre çözme yapılması isteniyorsa o sertifika ve çözülmek istenen veri parametre olarak verilir. Metot çözülmüs veriyi geri döner. Bu arayüze uyacak şekilde kendi çözücünüzü de yazabilirsiniz.

CMS Envelope kütüphanesinde akıllı kart, bellek ve Microsoft sertifika deposu üzerinde çözme işlemlerini yapan çözücüler hali hazırda bulunmaktadır.

Akıllı Kart Çözücü

Akıllı kart ile çözme işlemleri için SCDecryptor sınıfı kullanılmalıdır. Bu sınıf akıllı kart işlemlerini yapacağı SmartCard nesnesini ve oturum numarasını parametre olarak alır. Verinin akıllı kart ile çözülebilmesi için akıllı karta giris (login) yapılması gerekmektedir.

Akıllı kart islemleri hakkında daha genis bilgi almak için ESYA API SmartCard Kullanım Kılavuzuna bakınız. Asağıdaki örnekte bir akıllı kart çözücü oluşturulmaktadır.

ByteArrayOutputStream decryptedOutputStream = new ByteArrayOutputStream();
		
SmartCard sc = new SmartCard(CardType.AKIS);
long slot = sc.getSlotList()[0];
long session = sc.openSession(slot);
sc.login(session, "123456");
		
IDecryptorStore decryptor = new SCDecryptor(sc, session);
MemoryStream decryptedOutputStream = new MemoryStream();

SmartCard sc = new SmartCard(CardType.AKIS);
long slot = sc.getSlotList()[0];
long session = sc.openSession(slot);
sc.login(session, "12345");

IDecryptorStore decryptor = new SCDecryptor(sc, session);

Bellekte Çözücü

Eğer sertifika ve özel anahtara ulaşılabiliniyorsa, şifrelenmis dosyalar bellekte de çözülebilir. Bu işlem için MemoryDecryptor sınıfı kullanılmalıdır. Nesne yaratılırken sertifika ve özel anahtar çiftleri parametre olarak geçilir.

ECertificate cert = getCertificate();
PrivateKey key = getPrivKey();
MemoryDecryptor md = new MemoryDecryptor(new Pair<ECertificate,
PrivateKey>(cert,key));
ECertificate cert = getCertificate();
IPrivateKey key = getPrivKey();
MemoryDecryptor md = new MemoryDecryptor(new Pair<ECertificate,
IPrivateKey>(cert,key));

Microsoft Sertifika Deposundan Çözücü

Microsoft sertifika deposundaki anahtar kullanılarak şifreli veri çözülmeye çalısılır. Herhangi bir parametreye ihtiyaç duymaz. Yalnız kullanıcının sertifika deposuna erisim hakkı olması gerekmektedir.

esya/cmszarf/cozuculer.txt · Son değiştirilme: 2013/08/28 08:37 Değiştiren: Beytullah Yiğit