====== XAdES İmza Tipleri ====== Standartlarda belirtilen tiplerde imza atma örnekleri verilmiştir. Tipler hakkında bilgi almak için [[:esya:eimza:tipler|İmza Tipleri]] bölümüne göz atabilirsiniz. Kodları ''tr.gov.tubitak.uekae.esya.api.xades.example.formats'' paketinin altında bulabilirsiniz. ===== BES Tipi İmza ===== ''BES'' sınıfına göz 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)); ===== T Tipi İmza ===== ''T'' sınıfına göz 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)); // upgrade to T signature.upgrade(SignatureType.ES_T); signature.write(new FileOutputStream(BASE_DIR + SIGNATURE_FILENAME)); ===== C Tipi İmza ===== ''C'' sınıfına göz atabilirsiniz. Farklı olarak geliştirme satırında C tipi seçilir. // upgrade to C signature.upgrade(SignatureType.ES_C); ===== X-Type1 Tipi İmza ===== ''X1'' sınıfına göz atabilirsiniz. Farklı olarak geliştirme satırında X1 tipi seçilir. // upgrade to X1 signature.upgrade(SignatureType.ES_X_Type1); ===== X-Type2 Tipi İmza ===== ''X2'' sınıfına göz atabilirsiniz. Farklı olarak geliştirme satırında X2 tipi seçilir. // upgrade to X2 signature.upgrade(SignatureType.ES_X_Type2); ===== X-Long Tipi İmza ===== ''XL'' sınıfına göz atabilirsiniz. Farklı olarak geliştirme satırında X2 tipi seçilir. // upgrade to XL signature.upgrade(SignatureType.ES_XL); ===== Arşiv Tipi İmza ===== ''A'' sınıfına göz atabilirsiniz. Farklı olarak geliştirme satırında A tipi seçilir. // upgrade to A signature.upgrade(SignatureType.ES_A);