Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.
|
esya:ortakimza:imza-api-kullanim [2013/07/15 11:58] Ahmet Yetgin [İmza Çıkarma] |
esya:ortakimza:imza-api-kullanim [2013/08/19 05:50] (mevcut) Dindar Öz |
||
|---|---|---|---|
| Satır 1: | Satır 1: | ||
| ====== Kütüphane Kullanımı ====== | ====== Kütüphane Kullanımı ====== | ||
| - | ==== İmza Atma ==== | + | ===== İmza Atma ===== |
| + | |||
| + | ==== Basit (ES-BES) İmza Atma ==== | ||
| <sxh java;highlight:[8,11] ;title:Java & .NET> | <sxh java;highlight:[8,11] ;title:Java & .NET> | ||
| // imza konteyneri yarat | // imza konteyneri yarat | ||
| Satır 38: | Satır 40: | ||
| container.write(new FileOuputStream(fileName)); | container.write(new FileOuputStream(fileName)); | ||
| </sxh> | </sxh> | ||
| + | |||
| + | ===== İmza Geliştirme ===== | ||
| ==== Basit (ES-BES) İmzayı Zaman Damgalı İmzaya Çevirme ==== | ==== Basit (ES-BES) İmzayı Zaman Damgalı İmzaya Çevirme ==== | ||
| Satır 88: | Satır 92: | ||
| olarak değiştimek yeterlidir. | olarak değiştimek yeterlidir. | ||
| - | ==== İmza Doğrulama ==== | + | ===== İmza Doğrulama ===== |
| İmza doğrulamada ''SignatureContainer'' içindeki ''verifyAll()'' metodu kullanılır. | İmza doğrulamada ''SignatureContainer'' içindeki ''verifyAll()'' metodu kullanılır. | ||
| Satır 116: | Satır 120: | ||
| </sxh> | </sxh> | ||
| - | ===== İmza doğrulama Sonuç Nesnesi ===== | + | ==== İmza doğrulama Sonuç Nesnesi ==== |
| İmza doğrulama sonuç nesnesi ''toString()'' metodu, imza nesne hiyerarşisini bir ağaç yapısında formatlı olarak döner. | İmza doğrulama sonuç nesnesi ''toString()'' metodu, imza nesne hiyerarşisini bir ağaç yapısında formatlı olarak döner. | ||
| - | SignatureContainer nesnesine ait doğrulama sonucu ContainerValidationResult, | + | ''SignatureContainer'' nesnesine ait doğrulama sonucu ''ContainerValidationResult'', her bir imzaya ait doğrulama sonucu ''SignatureValidationResult'' nesnesidir. ''SignatureValidationResult'' nesneleri ''ContainerValidationResult'' içerisinde yer alır. |
| - | her bir imzaya ait doğrulama sonucu SignatureValidationResult nesnesidir. | + | İmza doğrulama sonucunu anlamak için ''ContainerValidationResult'' içindeki ''ContainerValidationResultType'' alanına bakmak yeterlidir. |
| - | SignatureValidationResult nesneleri ContainerValidationResult içerisinde yer alır. | + | Hangi imzanın hatalı olduğu bilinmek istenirse ilgili imza sonuçları kontrolden geçirilmelidir. |
| - | + | ||
| - | İmza doğrulama sonucunu anlamak için ContainerValidationResult içindeki ContainerValidationResultType alanına bakmak yeterlidir. | + | |
| - | + | ||
| - | Hangi imzanın hatalı olduğu bilinmek isterse ilgili imza sonuçları kontrolden geçirilmelidir. | + | |
| <sxh java; title: Java Code> | <sxh java; title: Java Code> | ||
| Satır 181: | Satır 181: | ||
| === Seri imza === | === Seri imza === | ||
| - | Bir imzayı imzalayan imzaya seri imza denir. Örneğin çalışan izin talebini imzalar. Yönetici de onay imzası atar. Seri imza oluşturmak için Signature nesnesi createCounterSignature(Certificate) metodu kullanılır. | + | Bir imzayı imzalayan imzaya **seri imza** denir. Örneğin çalışan izin talebini imzalar. Yönetici de onay imzası atar. Seri imza oluşturmak için Signature nesnesi createCounterSignature(Certificate) metodu kullanılır. |
| <sxh java;title:Java Code;> | <sxh java;title:Java Code;> | ||
| Satır 219: | Satır 219: | ||
| === Paralel imza === | === Paralel imza === | ||
| - | ''SignatureContainer'' içinde her ''createSignature()'' metodu çağrıldığında bir imza yaratılmış ve imza konteynere eklenmiş olur. ''SignatureContainer'' içindeki birbirinden bağımsız(birbirini imzalamayan) bu imzalara **paralel imza** denir. | + | ''SignatureContainer'' içinde ''createSignature()'' metodu her çağrıldığında bir imza yaratılmış ve imza konteynere eklenmiş olur. ''SignatureContainer'' içindeki birbirinden bağımsız(birbirini imzalamayan) bu imzalara **paralel imza** denir. |
| <sxh java; title:Java & .NET Code;> | <sxh java; title:Java & .NET Code;> | ||
| Satır 270: | Satır 270: | ||
| ===== İmza Profillerine Uygun İmza Atma ===== | ===== İmza Profillerine Uygun İmza Atma ===== | ||
| - | İmza profilleri hakkında detaylı açıklama için bu dökümanın İmza Profilleri bölümüne bakınız. | + | İmza profilleri hakkında detaylı açıklama için bu dökümanın [[esya:eimza:profiller|İmza Profilleri]] bölümüne bakınız. |
| Türkiyede tanımlı imza profil politikaları TurkishESigProfiles sınıfında tanımlıdır. | Türkiyede tanımlı imza profil politikaları TurkishESigProfiles sınıfında tanımlıdır. | ||
| - | P1 İmza Atma | + | ==== P1 İmza Atma ==== |
| P1 profili, temel olarak içinde imza zamanı özelliği olan ES-BES imzadır. | P1 profili, temel olarak içinde imza zamanı özelliği olan ES-BES imzadır. | ||
| - | Java & .NET Code | + | |
| + | <sxh java; title:Java & .NET Code;> | ||
| SignatureContainer container = SignatureFactory.createContainer(format); | SignatureContainer container = SignatureFactory.createContainer(format); | ||
| Signature signature = container.createSignature(signersCertificate); | Signature signature = container.createSignature(signersCertificate); | ||
| Satır 285: | Satır 286: | ||
| // imzayı yaz | // imzayı yaz | ||
| container.write(stream); | container.write(stream); | ||
| - | P2 İmza Atma | + | </sxh> |
| + | |||
| + | ==== P2 İmza Atma ==== | ||
| P2 profili zaman damgalı imzadır. | P2 profili zaman damgalı imzadır. | ||
| - | Java & .NET Code | + | |
| + | <sxh java; title:Java & .NET Code> | ||
| SignatureContainer container = SignatureFactory.createContainer(format); | SignatureContainer container = SignatureFactory.createContainer(format); | ||
| Signature signature = container.createSignature(signersCertificate); | Signature signature = container.createSignature(signersCertificate); | ||
| Satır 301: | Satır 306: | ||
| // imzayı yaz | // imzayı yaz | ||
| container.write(stream); | container.write(stream); | ||
| + | </sxh> | ||
| + | |||
| + | ==== P3 İmza Atma ==== | ||
| - | === P3 İmza Atma === | ||
| P3 profili doğrulama için SİL(Sertifika İptal Listesi) kullanılan uzun ömürlü imzalar içindir. | P3 profili doğrulama için SİL(Sertifika İptal Listesi) kullanılan uzun ömürlü imzalar içindir. | ||
| - | Java & .NET Code | + | |
| + | <sxh java;title:Java & .NET Code;> | ||
| // context yarat | // context yarat | ||
| Context context = new Context(new File(workingDir).toURI()); | Context context = new Context(new File(workingDir).toURI()); | ||
| Satır 329: | Satır 337: | ||
| // imzayı yaz | // imzayı yaz | ||
| c.write(stream); | c.write(stream); | ||
| + | </sxh> | ||
| + | |||
| + | ==== P4 İmza Atma ==== | ||
| - | === P4 İmza Atma === | ||
| P4 profili doğrulama için ÇiSDuP(OCSP) kullanılan uzun ömürlü imzalar içindir. | P4 profili doğrulama için ÇiSDuP(OCSP) kullanılan uzun ömürlü imzalar içindir. | ||
| - | Java & .NET Code | + | |
| + | <sxh java; title:Java & .NET Code> | ||
| // context yarat | // context yarat | ||
| Context context = new Context(new File(workingDir).toURI()); | Context context = new Context(new File(workingDir).toURI()); | ||
| Satır 357: | Satır 368: | ||
| // imzayı yaz | // imzayı yaz | ||
| c.write(stream); | c.write(stream); | ||
| + | </sxh> | ||