RFC 3161, bir verinin belirli bir andan önce var olduğunu kanıtlayan Zaman Damgası Protokolü'nü (TSP) tanımlar. İstemci yalnızca verinin özetini gönderir, zaman damgası otoritesi (TSA) de bu özeti saatiyle birlikte imzalayıp geri döner. Kod imzalama araçlarının /tr ve -tsa seçenekleri bu protokolü kullanır.
Protokolün yapısı
- TimeStampReq: özet algoritması, özet değeri, isteğe bağlı nonce ve sertifika talebi (certReq).
- TimeStampResp: durum bilgisi ve başarılıysa CMS SignedData içinde TSTInfo (zaman, seri no, özet).
- Taşıma genellikle HTTP POST ile,
Content-Type: application/timestamp-querybaşlığıyla yapılır; yanıtapplication/timestamp-replyolarak döner.
openssl ile deneme
openssl ts -query -data dosya.bin -sha256 -cert -out istek.tsq
curl -H "Content-Type: application/timestamp-query" \
--data-binary @istek.tsq http://time.certum.pl -o yanit.tsr
openssl ts -reply -in yanit.tsr -text
Son komut durum, seri numarası, özet algoritması ve Time stamp alanını gösterir. Bu TSA URL'si örnektir; kullandığınız CA'nın belgelerinden güncel adresi doğrulayın.
Doğrulama
openssl ts -verify -in yanit.tsr -queryfile istek.tsq -CAfile tsa-zinciri.pem
Doğrulama için TSA sertifika zincirinin PEM dosyası gerekir. Başarılı olursa "Verification: OK" yazılır.
Sık hatalar
- Yanlış Content-Type nedeniyle HTTP 400/415 yanıtı.
- Nonce uyuşmazlığı; isteğe nonce eklediyseniz yanıtta aynısı dönmelidir.
- Kısıtlı ağlarda HTTP TSA adresine çıkışın engellenmesi.
- TSA sertifikasında timeStamping EKU'sunun bulunmaması.
Pratik notlar
- Kod imzalamada TSA'yı araç kendisi çağırır; elle istek göndermek çoğunlukla test ve sorun giderme içindir.
- Özet algoritması olarak SHA-256 veya üzerini tercih edin; SHA-1 özetli eski damgalar önerilmez.
- Damga belirtecinin içindeki saatin güvenilir olması, TSA'nın kaynak zaman kaynaklarına ve denetlenmesine bağlıdır.
Zaman damgasının neden gerekli olduğunu bilgi bankasında, imzalama sertifikalarını kod imzalama sayfasında inceleyebilirsiniz.
Özet: RFC 3161 basit bir istek ve yanıt modeline dayanır: özet gönderilir, imzalı zaman belirteci alınır. openssl ts araçlarıyla bu akışı elle deneyerek damga sorunlarını hızlıca teşhis edebilirsiniz.