ESYAE-imza Kütüphaneleri

User Tools

Site Tools


esya:cades:imza-zamani

Farklar

Bu sayfanın seçili sürümü ile mevcut sürümü arasındaki farkları gösterir.

Karşılaştırma görünümüne bağlantı

esya:cades:imza-zamani [2013/07/22 10:51]
Beytullah Yiğit created
esya:cades:imza-zamani [2013/08/28 08:26] (mevcut)
Beytullah Yiğit
Satır 2: Satır 2:
  
 API’de imza zamanının belirlenmesi farklı yöntemlerle gerçekleştirilebilir. API’de imza zamanının belirlenmesi farklı yöntemlerle gerçekleştirilebilir.
-Zaman damgası +  * Zaman damgası 
-Signingtime İmza özelliği kullanılarak imza zamanının belirlenmesi +  * Signingtime İmza özelliği kullanılarak imza zamanının belirlenmesi 
-İmza zamanının dışarıdan verilen zaman parametresine göre belirlenmesi+  * İmza zamanının dışarıdan verilen zaman parametresine göre belirlenmesi
 Bu yöntemlerden en güvenli ve geçerli olanı Zaman damgası yöntemidir. Bu yöntemlerden en güvenli ve geçerli olanı Zaman damgası yöntemidir.
  
 ==== Zaman Damgası ===== ==== Zaman Damgası =====
  
-Zaman  damgası, üzerinde bulunduğu verinin belirli bir tarihteki varlığını garantiler. Bizim uygulamamızdazaman ​damgası,​oluşturduğunuz imzaya bağlı olarak oluşturulduğundan,​ imzanızın ​ gerçekten o  tarihte var  olduğunu ispatlamak için kullanılır.Zaman ​ damgası, güvenilir bir servis sağlayıcısı olan zaman  damgası otoritelerinden alınır. Tüm ESHS'​ler bu hizmeti vermektedirler. +Zaman  damgası, üzerinde bulunduğu verinin belirli bir tarihteki varlığını garantiler. Bizim uygulamamızda zaman damgası, oluşturduğunuz imzaya bağlı olarak oluşturulduğundan,​ imzanızın ​ gerçekten o  tarihte var  olduğunu ispatlamak için kullanılır. Zaman  damgası, güvenilir bir servis sağlayıcısı olan zaman  damgası otoritelerinden alınır. Tüm ESHS'​ler bu hizmeti vermektedirler. 
-İmza tarihinin önemli olduğu uygulamalarda zaman damgasının kullanımı büyük önem arz   ​etmektedir. ​ Çünkü ​ zaman   ​damgası olmayan bir  imza  üzerindeki ​ zaman   ​bilgisi,​ kullanıcının belirleyebildiği ve  genelde kullanıcının ​ sistem saatinden alınmış ​ olan zaman bilgisidir. Dolayısıyla imzayı oluşturan kişi zaman bilgisini de istediği gibi belirleyebilir. Sertifika iptal durumlarında da imzanın sertifika iptal edilmeden önce atıldığından emin olunamaz.+ 
 +İmza tarihinin önemli olduğu uygulamalarda zaman damgasının kullanımı büyük önem arz   ​etmektedir. ​ Çünkü ​ zaman   ​damgası olmayan bir  imza  üzerindeki ​ zaman   ​bilgisi,​ kullanıcının belirleyebildiği ve  genelde kullanıcının ​ sistem saatinden alınmış ​ olan zaman bilgisidir. Dolayısıyla imzayı oluşturan kişizaman bilgisini de istediği gibi belirleyebilir. Sertifika iptal durumlarında daimzanın sertifika iptal edilmeden önce atıldığından emin olunamaz. 
 Zaman damgası ise imzanın o tarihten (zaman damgası otoritesinin verdiği tarihten) önce var olduğunu garanti eder. Zaman damgası ise imzanın o tarihten (zaman damgası otoritesinin verdiği tarihten) önce var olduğunu garanti eder.
 +
 EST  ve  üzeri imza türleri zaman  damgası içermektedir. API'​nin zaman  damgası alması için zaman damgası sunucusunun ayarlarının parametreler yardımıyla API'ye verilmesi gerekmektedir. EST  ve  üzeri imza türleri zaman  damgası içermektedir. API'​nin zaman  damgası alması için zaman damgası sunucusunun ayarlarının parametreler yardımıyla API'ye verilmesi gerekmektedir.
  
Satır 18: Satır 21:
 params.put(EParameters.P_TSS_INFO,​ tsSettings);​ params.put(EParameters.P_TSS_INFO,​ tsSettings);​
 </​sxh>​ </​sxh>​
 +
 <sxh csharp;​title:​C#>​ <sxh csharp;​title:​C#>​
 TSSettings tsSettings = new TSSettings("​http://​zd.ug.net",​ 21, "​12345678",,​DigestAlg.SHA1);​ TSSettings tsSettings = new TSSettings("​http://​zd.ug.net",​ 21, "​12345678",,​DigestAlg.SHA1);​
 params_[EParameters.P_TSS_INFO] = tsSettings; params_[EParameters.P_TSS_INFO] = tsSettings;
 </​sxh>​ </​sxh>​
-Zaman  damgası ayarlarından ilki zaman  damgası adresi, ikincisi kullanıcı numarası, üçüncüsü kullanıcı şifresidir.+ 
 +Zaman  damgası ayarlarından ilki zaman  damgası adresi, ikincisi kullanıcı numarası, üçüncüsü kullanıcı şifresi, dördüncüsü zaman damgasının özet algoritmasıdır. 
 === İmzadaki Zaman Damgasından İmza Zamanı Alınması === === İmzadaki Zaman Damgasından İmza Zamanı Alınması ===
-İmza zamanın alınabilmesi için imzanın zaman  damgası içermesi gerekmektedir. Bunun için imza türünün en az EST olması gerekmektedir. + 
-EST   ​üzeri imza türleri ​ EST   ​sınıfından  ​türediğinden ​EST   ​sınıfının fonksiyonunu kullanabiliriz. Bu fonksiyondan dönen ​ zaman  id_aa_signatureTimeStampToken ​ özelliğinden alınan zaman bilgisidir.+İmza zamanın alınabilmesi içinimzanın zaman  damgası içermesi gerekmektedir. Bunun için imza türünün en az EST olması gerekmektedir. 
 + 
 +EST   ​üzeri imza türleri ​EST ​  ​sınıfından  ​türemiştir.Bu yüzden ​EST   ​sınıfının fonksiyonunu kullanabiliriz. Bu fonksiyondan dönen ​ zaman  ​''​id_aa_signatureTimeStampToken'' ​ ​özelliğinden alınan zaman bilgisidir.
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 33: Satır 41:
 Calendartime = estSign.getTime();​ Calendartime = estSign.getTime();​
 </​sxh>​ </​sxh>​
 +
 <sxh csharp;​title:​C#>​ <sxh csharp;​title:​C#>​
 byte[] input = AsnIO.dosyadanOKU(ESA);​ byte[] input = AsnIO.dosyadanOKU(ESA);​
Satır 39: Satır 48:
 DateTime? time = estSign.getTime();​ DateTime? time = estSign.getTime();​
 </​sxh>​ </​sxh>​
-Eğer kullanıcının beyan ettiği imza saatine güveniliyorsa AttributeOIDs.id_signingTime özelliği kullanılabilir. Yalnız imzadaki AttributeOIDs.id_signingTime özelliğini zorunlu bir alan değildir, imza içinde bulunmayabilir.+ 
 +Eğer kullanıcının beyan ettiği imza saatine güveniliyorsa, ''​AttributeOIDs.id_signingTime'' ​özelliği kullanılabilir. Yalnız imzadaki ​''​AttributeOIDs.id_signingTime'' ​özelliğini zorunlu bir alan değildir, imza içinde bulunmayabilir.
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 49: Satır 59:
 System.out.println(time.getTime().toString());​ System.out.println(time.getTime().toString());​
 </​sxh>​ </​sxh>​
 +
 <sxh csharp;​title:​C#>​ <sxh csharp;​title:​C#>​
 byte[] input = AsnIO.dosyadanOKU(BESwithSIGNING_TIME);​ byte[] input = AsnIO.dosyadanOKU(BESwithSIGNING_TIME);​
Satır 57: Satır 68:
 Console.WriteLine(time.Value.ToString());​ Console.WriteLine(time.Value.ToString());​
 </​sxh>​ </​sxh>​
-Profesyonel kullanıcılar ​ AttributeOIDs sınıfında ​ bulunan ​ özelliklerle ​ diğer ​ zaman damgası bilgilerini de alabilirler. Örnek olarak arşiv tipi için kullanılan zaman damgası özelliğini kullanıldı:​+ 
 +Profesyonel kullanıcılar ''​AttributeOIDs'' ​sınıfında ​ bulunan ​ özelliklerle ​ diğer ​ zaman damgası bilgilerini de alabilirler. Örnek olarak arşiv tipi için kullanılan zaman damgası özelliğini kullanıldı:​
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 73: Satır 85:
 } }
 </​sxh>​ </​sxh>​
 +
 <sxh csharp;​title:​C#>​ <sxh csharp;​title:​C#>​
 byte[] input = AsnIO.dosyadanOKU(ESA);​ byte[] input = AsnIO.dosyadanOKU(ESA);​
Satır 90: Satır 103:
 === Zaman Damgası Sunucusunun Test Edilmesi === === Zaman Damgası Sunucusunun Test Edilmesi ===
  
-Zaman damgası ayarları verildikten sonra API zaman damgası alma işlemini kendisi yapmaktadır. Geliştiriciler zaman damgasını test etmek için aşağıdaki örnek kodu kullanabilirler. Zaman dagası işlemlerinden TSClient sınıfı sorumludur. Bu sınıf ile zaman damgası alınabilir,​ kalan kontör miktarı sorgulanabilir.+Zaman damgası ayarları verildikten sonraAPI zaman damgası alma işlemini kendisi yapmaktadır. Geliştiriciler zaman damgasını test etmek için aşağıdaki örnek kodu kullanabilirler. Zaman damgası işlemlerinden ​''​TSClient'' ​sınıfı sorumludur. Bu sınıf ile zaman damgası alınabilir,​ kalan kontör miktarı sorgulanabilir.
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 107: Satır 120:
 System.out.println("​Remaining Credit:"​ + tsClient.requestRemainingCredit(settings));​ System.out.println("​Remaining Credit:"​ + tsClient.requestRemainingCredit(settings));​
 </​sxh>​ </​sxh>​
 +
 <sxh csharp;​title:​C#>​ <sxh csharp;​title:​C#>​
 byte[] sha1Digest = new byte[20]; ​ byte[] sha1Digest = new byte[20]; ​
Satır 121: Satır 135:
 Console.WriteLine("​Remaining Credit: " + tsClient.requestRemainingCredit(settings));​ Console.WriteLine("​Remaining Credit: " + tsClient.requestRemainingCredit(settings));​
 </​sxh>​ </​sxh>​
 +
 === Zaman Damgası Alma === === Zaman Damgası Alma ===
-ESYA kütüpanesini kullanarak sadece zaman damgası da alabilirsiniz. Bunun için asn1rt.jar, slf4j.jar, ma3api-asn.jar,​ ma3api-common.jar,​ ma3api-crypto.jar,​ ma3api-crypto-gnuprovider.jar,​ ma3api-infra.jar dosyalarına ihtiyacınız vardır. Şu anda sadece SHA-1 özet algoritması desteklenmektedir.+ 
 +ESYA kütüpanesini kullanarak sadece zaman damgası da alabilirsiniz. Bunun için asn1rt.jar, slf4j.jar, ma3api-asn.jar,​ ma3api-common.jar,​ ma3api-crypto.jar,​ ma3api-crypto-gnuprovider.jar,​ ma3api-infra.jar dosyalarına ihtiyacınız vardır.
  
 <sxh java;​title:​Java>​ <sxh java;​title:​Java>​
Satır 131: Satır 147:
 EContentInfotoken = tsClient.timestamp(dataTbs,​ settings).getContentInfo();​  EContentInfotoken = tsClient.timestamp(dataTbs,​ settings).getContentInfo();​
 </​sxh>​ </​sxh>​
 +
 <sxh csharp;​title:​C#>​ <sxh csharp;​title:​C#>​
 byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
esya/cades/imza-zamani.1374490283.txt.gz · Son değiştirilme: 2013/07/22 10:51 Değiştiren: Beytullah Yiğit