ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:xades:kod-imza-atma-dogrulama

XAdES İmza Kullanım Örnekleri

Örnek kodları tr.gov.tubitak.uekae.esya.api.xades.example paketi altında bulabilirsiniz.

İmza Atma

formats altında BES sınıfındaki kod ile örnek bir imza atabilirsiniz.

// create context with working directory
Context context = createContext();

// create signature according to context,
// with default type (XADES_BES)
XMLSignature signature = new XMLSignature(context);

// add document as reference, but do not embed it
// into the signature (embed=false)
signature.addDocument("./sample.txt", "text/plain", false);

signature.getSignedInfo().setSignatureMethod(SignatureMethod.RSA_SHA256);

// false-true gets non-qualified certificates while true-false gets qualified ones
X509Certificate cert = JSmartCardManager.getInstance().getSignatureCertificate(true, false);

// add certificate to show who signed the document
signature.addKeyInfo(new ECertificate(cert.getEncoded()));

// now sign it by using smart card
signature.sign(JSmartCardManager.getInstance().getSigner(PIN, cert));

signature.write(new FileOutputStream(BASE_DIR + SIGNATURE_FILENAME));

İmza Doğrulama

Basit bir doğrulama kod örneği. Bu örnekte imza dosyadan yüklenmekte ve imza içerisinde yer alan imzalama sertifikası kullanılarak doğrulanmaktadır.

XMLSignature signature = XMLSignature.parse( new FileDocument(new File(FILE_NAME)), new Context(BASE_DIR)) ; 
// no params, use the certificate in key info 
ValidationResult result = signature.verify();

Bu örnekte yalnız ana imzanın doğrulaması yapıldığına dikkat edilmelidir. Seri imza doğrulaması da yapan örnek kod için validation.Validation sınıfına göz atabilirsiniz. Yine aynı sınıftaki validateParallel fonksiyonu ile de paralel imzaların doğrulamasını gerçekleştirebilirsiniz.

Akıllı Kart İşlemleri

Akıllı kart kütüphanesinin detaylı kullanımı için akıllı kart kullanım kılavuzuna göz atınız. Akılı kart kullanarak imzalama yapmak için uygun BaseSigner sınıfı oluşturmalısınız. Gizli anahtar kart içinde bulunduğu için imza kütüphanesine parametre olarak verilemez. Kütüphane ile dağıtılan SmartCardManager sınıfı başlangıç için yeterli seviyede akıllı kart ihtiyaçlarını görmektedir.

esya/xades/kod-imza-atma-dogrulama.txt · Son değiştirilme: 2013/08/20 11:13 Değiştiren: Dindar Öz