ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:xades:konfigurasyon

XML İmza Konfigürasyonu

XML imza kütüphanesinin imza yaratma ve doğrulama ayarlarına erişim için kullandığı konfigurasyon dosyasıdır. Bu konfigürasyon içinde kaynaklara erişim için proxy, zaman damgası, kaynak çözücüleri(Resolver arayüzü), varsayılan algoritmalar ve doğrulama ayarları yer alır.

<?xml version="1.0" encoding="UTF-8"?> 
<xml-signature-config>

XML imza konfigürasyonu, xml-signature-config kök elemanı ile başlar.

Yerelleştirme

Yerelleştirme seçenekleri, locale elementi ile ayarlanır.

<locale language="EN" country="EN"/>

Proxy Ayarları

<http> 
    <proxy-host></proxy-host> 
    <proxy-port></proxy-port> 
    <proxy-username></proxy-username> 
    <proxy-password></proxy-password> 
    <basic-authentication-username></basic-authentication-username>
    <basic-authentication-password></basic-authentication-password>
    <connection-timeout-in-milliseconds>2000</connection-timeout-in-milliseconds> 
</http>

Eğer proxy üzerinden bağlantı kurulacaksa ilgili ayarlar http elementi ile yapılır.

Kaynak Çözücüler

<resolvers>
    <resolver class="tr.gov.tubitak.uekae.esya.api.xmlsignature.resolver.IdResolver"/>
    <resolver class="tr.gov.tubitak.uekae.esya.api.xmlsignature.resolver.DOMResolver"/> 
    <resolver class="tr.gov.tubitak.uekae.esya.api.xmlsignature.resolver.HttpResolver"/> 
    <resolver class="tr.gov.tubitak.uekae.esya.api.xmlsignature.resolver.XPointerResolver"/> 
    <resolver class="tr.gov.tubitak.uekae.esya.api.xmlsignature.resolver.FileResolver"/> 
</resolvers>

Bu alanda imza içideki URL'lerin çözümünde kullanılacak sınıflar yer almaktadır. Standart bir kullanım için buradaki çözücü tanımlamaları yeterlidir. Farklı protokoller eklenmek istenirse IResolver arayüzü gerçeklenip, konfigürasyonda resolvers elementine eklenebilir. Örneğin bir URI'ye karşılık gelen veriyi bir veritabanında tutmak isterseniz, kendi DatabaseResolver sınıfınızı yazabilirsiniz.

public interface IResolver { 
    boolean isResolvable(String aURI, Context aContext); 
    Document resolve(String aURI, Context aContext) throws IOException; 
}

Zaman Damgası

<timestamp-server> 
    <host>http://timestamp_server_address</host> 
    <userid>fill_id_here</userid> <password>pass</password> 
    <digest-alg>SHA-1</digest-alg> 
</timestamp-server>

Userid ve password alanları ESYA tabanlı zaman damgası içindir. Açık bir zaman damgası servisi için bu alanları boş bırakın.

Varsayılan Algoritmalar

<algorithms> 
    <digest-method>http://www.w3.org/2001/04/xmlenc#sha256</digest-method> 
</algorithms>

Doğrulama Parametreleri

<validation> 
    <!-- default policy for certificate validation --> 
    <certificate-validation-policy-file>//path/to/certval-policy.xml</certificate-validation-policy-file> 
    <!-- possible types: {QualifiedCertificate, MaliMuhurCertificate, TimeStampingCertificate} -->
    <certificate-validation-policy-file for="MaliMuhurCertificate">//path/to/certval-mm-policy.xml</certificate-validation-policy-file>
    
    
    <!-- grace period is the time that needs to pass to get exact revocation info--> 
    <grace-period-in-seconds>86400</grace-period-in-seconds>
    <!-- how old revocation data should be accepted? --> 
    <last-revocation-period-in-seconds>172800</last-revocation-period-in-seconds> 
    <!-- compare resolved policy with the one at policy uri, if indicated --> 
    <check-policy-uri>false</check-policy-uri> 
    <!-- loosening below 2 settings will cause warnings instead of validation failure --> 
    <!-- referenced validation data must be used for cert validation is set true --> 
    <force-strict-reference-use>false</force-strict-reference-use> 
    <!-- validation data must be published after creation ifs set true, requires grace period for signers --> 
    <use-validation-data-published-after-creation>false</use-validation-data-published-after-creation> 
    <validators> ... </validators> 
</validation>

certificate-validation-policy-file Sertifika doğrulamada kullanılacak konfigürasyon. 'for' attribute'u kullanılmazsa default politika olur. Bu attribute içinde QualifiedCertificate, MaliMuhurCertificate, TimeStampingCertificate değerlerinden biri kullanılarak sertifika tipine göre doğrulama politikası vermek mümkündür.
grace-period-in-seconds Saniye cinsinden grace period. Grace period doğrulama verisinin olgunlaşması için beklenmesi gereken süredir.
last-revocation-period-in-seconds Doğrulama verisinin üretim zamanı ile, doğrulama zamanı arasında ne kadar süre olabileceği
force-strict-reference-use Referanslarla işaret edilen iptal bilgisi doğrulamada kullanılmalı. Güvenlik açısından normal şartlarda bu değer true olmalıdır.
use-validation-data-published-after-creation Doğrulama verisinin imza tarihinden sonra üretilmesini şart koş. Default değer true. Sağlıklı ve güvenilir bir imzada doğrulama verisi imza tarihinden sonra yayınlanmış olmalıdır.

Doğrulayıcılar

XML İmza doğrulayıcı sınıflar validation/validators tagları arasında yer almaktadır. Normalde bu kısımları değiştirmeniz gerekmez. Ekstra (custom) doğrulayıcılar geliştirmek isterseniz bu kısma ekleme yapmak için örnek konfigürasyonları inceleyebilirsiniz. Dikkat etmeniz gereken tek nokta profil tanımlarında “inherit-validators-from” attribute'ı aracılığıyla profiller arası ortak doğrulayıcı kullanımı yapılabilmesidir.

esya/xades/konfigurasyon.txt · Son değiştirilme: 2013/08/20 11:52 Değiştiren: Dindar Öz