Bu, dökümanın eski bir sürümüdür!
Örnek bir imza kütüphanesi konfigürasyonu ESYA İmza Kütüphanesi ile dağıtılmaktadır. Bu konfigürasyon dosyası aracılığı ile imza atma ve doğrulama ayarları yapılmakta ve çalışma zamanında değiştirilebilmektedir.
API mesajlarının dil ve formatını seçmeye yarar.
<locale language="tr" country="TR"/>
Eğer kütüphane bir proxy sunucu arkasında çalışacaksa http ayarları bu kısımdan yapılabilir.
<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>
Basit imza(ES-BES)dan daha gelişmiş bir imza tipi kullanılacaksa imzaya çeşitli zaman damgaları eklenmesi gerekmektedir. Zaman damgası ile ilgili ayarlar bu kısımdan yapılır. ESYA Zaman Damgası sunucusu dışında bir zaman damgası kullanılacağı zaman, userid-password alanları boş bırakılabilir.
<timestamp-server> <!-- leave userid/password blank for public services! --> <host>http://10.3.0.21</host> <userid>1</userid> <password>12345678</password> <digest-alg>SHA-1</digest-alg> </timestamp-server>
İmzaya eklenecek veriler için hangi özet algoritması kullanılacağı digest-alg, imzada hangi algoritma kullanılacağı ise signature-alg parametresi ile belirlenir.
<algorithms> <digest-alg>SHA-256</digest-alg> <signature-alg>RSA-with-SHA256</signature-alg> </algorithms>
Sertifika doğrulama parametreleri <certificate-validation>
tag'ı içerisinde tanımlanır.
İlgili parametreler şunlardır:
certificate-validation-policy-file | sertfika doğrulama konfigürasyon dosyası. '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 | SİL(Sertifika İptal Listesi)'in geçerli kabul edilmesi için imza atılma anından en az ne kadar sonra yayınlanmış olması gerektiği |
last-revocation-period-in-seconds | imza anından en fazla ne kadar süre sonra yayınlanmış SİL'in geçerli kabul edileceği |
use-validation-data-published-after-creation | İptal bilgisinin imza anından sonra yayınlanmış olmasının gerekip gerekmediği |
validate-certificate-before-signing | İmzacı sertifikasının imza atılırken doğrulanıp doğrulanmayacağı. Örneğin kullanıcı sertifikası sisteme girişte doğrulandı ise,her imza atmada sertifikanın tekrar tekrar doğrulanması istenmiyor olabilir. |
<certificate-validation> <certificate-validation-policy-file>MA3/api-signature/testresources/certval-ug-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> <!-- 0 means ignore grace --> <grace-period-in-seconds>86400</grace-period-in-seconds> <!-- *100 for tests! --> <last-revocation-period-in-seconds>17280000</last-revocation-period-in-seconds> <!-- 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> <validate-certificate-before-signing>false</validate-certificate-before-signing> </certificate-validation>
Diğer doğrulama parametreleri <params>
tag'ı içinde belirtilir. Bunlar:
force-strict-reference-use: Yalnızca imza içindeki doğrulama verileri kullanılsın.
check-policy-uri: Politika temelli imzada imza içindeki politika bilgisinin belirtilen adreste yer alan polikanın özetini taşıdığından emin ol.
validate-timestamp-while-signing: İmza atılırken alınan zaman damgasını doğrula.
write-referencedvalidationdata-to-file-on-upgrade: İmza içindeki sertifika doğrulama bilgisini ayrıca dosyalara yaz. (Debug parametresi.)
<params> <!-- 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> <!-- compare resolved policy with policy uri if indicated --> <check-policy-uri>false</check-policy-uri> <validate-timestamp-while-signing>false</validate-timestamp-while-signing> <!-- for debug purposes! --> <write-referencedvalidationdata-to-file-on-upgrade>false</write-referencedvalidationdata-to-file-on-upgrade> </params>