Bu sayfa salt okunur. Kaynağı görebilirsiniz ama değiştiremezsiniz. Bunun yanlış olduğunu düşünüyorsanız yöneticiye danışın.
The decryptor classes must be derived from the interface IDecryptorStore which has two methods getEncryptionCertificates() and decrypt(…). 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.
IDecryptorStore
getEncryptionCertificates()
decrypt(…)
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 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.
SCDecryptor
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. <sxh java;title:Java> 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); </sxh> <sxh csharp;title:C#> 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); </sxh>
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. <sxh java;title:Java> ECertificate cert = getCertificate(); PrivateKey key = getPrivKey(); MemoryDecryptor md = new MemoryDecryptor(new Pair<ECertificate, PrivateKey>(cert,key)); </sxh> <sxh csharp;title:C#> ECertificate cert = getCertificate(); IPrivateKey key = getPrivKey(); MemoryDecryptor md = new MemoryDecryptor(new Pair<ECertificate, IPrivateKey>(cert,key)); </sxh>
MemoryDecryptor
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.