Document Verification
Bu dokümandaki her sayfanın PDF kopyası, üretildiği anda dijital olarak imzalanır ve imzanın içine bağımsız bir zaman damgası gömülür. Böylece bir PDF'in TR7 tarafından üretilmiş hâliyle aynı olup olmadığı, TR7'ye sorulmadan denetlenir.
Denetim iki yoldan yapılır: Adobe Acrobat Reader ile bakmak çoğu durumda yeterlidir; ayrıntılı rapor gerekiyorsa pyHanko komut satırı aracı kullanılır. İkisi de aşağıda anlatılmıştır.
İmza Ne Anlatır?
İmza üç ayrı soruyu yanıtlar ve bunlar birbirinden bağımsızdır:
INFO
Belge değiştirilmiş mi?
PDF üretildikten sonra tek bir karakteri bile değiştirilmişse imza bozulur. Dosyanın sonuna yeni bir revizyon eklenmişse bu da ayrıca görünür. Bu denetim sertifikadan bağımsız çalışır ve her PDF okuyucusunda aynı sonucu verir.
INFO
Belgeyi kim imzaladı?
İmza TR7 Ltd. adına düzenlenmiş bir sertifikayla atılır. Sertifikanın parmak izi aşağıda yayımlanır; imza panelinde görünen değerle karşılaştırılarak imzalayanın TR7 olduğu doğrulanır.
INFO
Belge ne zaman üretildi?
İmzanın içine RFC 3161 zaman damgası gömülür. Damgayı TR7 değil, bağımsız bir zaman damgası hizmeti düzenler; belgenin o tarihte var olduğunu üçüncü taraf tasdik eder.
Karıştırılmaması gereken iki denetim
Sertifika parmak izi ile belge bütünlüğü iki ayrı şeydir. Parmak izi imzalayanın kimliğidir ve her TR7 belgesinde aynıdır; belge değiştirilse bile değişmez. Belgenin oynanıp oynanmadığı ayrı bir denetimdir ve sonucu imza panelinde ayrıca yazar. Bir belgede parmak izinin doğru çıkması, belgenin değiştirilmediği anlamına gelmez; tersi de geçerlidir.
Adobe Acrobat Reader ile Denetleme
Belge Adobe Acrobat Reader ile açılır ve iki yere bakılır: ekranın üstündeki uyarı şeridi ve sağdaki Signature Panel. Panel, şeridin sağ ucundaki Signature Panel butonuyla açılır.
Değiştirilmiş Bir Belge Nasıl Görünür?
Belge imzalandıktan sonra değiştirilmişse üst şeritte şu uyarı görüntülenir:
Adobe Acrobat Reader: değiştirilmiş belgede uyarı şeridi
Signature Panel'de imza satırındaki simge kırmızı çarpıya döner ve altına değiştirilen sayfa sayısı N Page(s) Modified olarak eklenir:
Adobe Acrobat Reader: değiştirilmiş belgede imza paneli
Böyle bir belge TR7'nin ürettiği hâlde değildir.
| Panelde görünen | Anlamı |
|---|---|
| At least one signature has problems · sarı üçgen | Belge bozulmamış; okuyucu yalnızca imzalayanı tanımıyor. Beklenen görüntü budur. |
| At least one signature is invalid · kırmızı çarpı | Belge değiştirilmiş. Bu PDF TR7'nin ürettiği hâlde değildir. |
| N Page(s) Modified | İmzalandıktan sonra dosyaya yeni bir revizyon eklenmiş; sayfa içeriği değiştirilmiş. |
| İmza alanı hiç yok | Belge TR7 dokümanından indirilmemiş ya da imzası sökülmüştür. |
İmzalama Sertifikası
| Alan | Değer |
|---|---|
| Sahibi | TR7 Ltd. |
| Ülke | GB |
| Ortak ad | TR7 Documentation Signing |
| Anahtar | RSA 3072 bit |
| Geçerlilik | 23 Eylül 2026 - 20 Eylül 2036 |
SHA-256 parmak izi:
34:52:58:BF:EB:B6:38:A7:69:98:95:F6:62:14:79:E8:3A:AA:6D:F7:5D:30:C9:77:4D:A9:C1:55:D2:76:D4:5EAdobe Acrobat Reader sertifika penceresinde SHA-256 değerini göstermez; orada SHA-1 parmak izi karşılaştırılır:
E2:16:A8:AF:5B:89:D0:03:68:18:B0:07:60:21:D3:8A:49:EF:8F:D5Parmak izi imza panelinden şu adımlarla görüntülenir:
- Signature Panel açılır ve imza satırına sağ tıklanarak İmza Özelliklerini Göster (Show Signature Properties) seçilir.
- İmzalayanın Sertifikasını Göster (Show Signer's Certificate) butonuna tıklanır.
- Ayrıntılar (Details) sekmesinde SHA-1 Digest satırı seçilir; değer alttaki kutuda görüntülenir ve yukarıdaki SHA-1 parmak iziyle karşılaştırılır.
Karıştırılmaması gereken iki değer
İmza penceresinde görünen SHA256 RSA (1.2.840.113549.1.1.11) satırı imzanın algoritmasıdır, sertifikanın parmak izi değildir. Parmak izi sertifika penceresinin Ayrıntılar (Details) sekmesindeki Digest satırlarında bulunur; Adobe orada MD5 ve SHA-1 gösterir, SHA-256 göstermez. Adobe bu değeri iki nokta işareti olmadan, boşlukla ayrılmış gruplar hâlinde yazar; karşılaştırma yapılırken bu biçim farkı göz ardı edilir.
Komut Satırıyla Denetleme
Ayrıntılı rapor için pyHanko kullanılır. Araç iki paketten oluşur: kütüphane ve komut satırı arayüzü. Yalnızca pyhanko kurulduğunda pyhanko komutu oluşmaz, pyhanko-cli de kurulmalıdır.
Windows
pip install pyhanko pyhanko-cliKurulum sonunda pyhanko.exe'nin PATH'te olmadığı uyarısı verilirse komut, uyarıda yazan dizin yoluyla çalıştırılır (ör. C:\Users\<kullanıcı>\AppData\Local\Python\pythoncore-3.14-64\Scripts\pyhanko.exe).
Linux
Debian ve Ubuntu'da sisteme doğrudan kurulum reddedilir (externally-managed-environment); sanal ortam kullanılır:
python3 -m venv ~/pyhanko-ortam
~/pyhanko-ortam/bin/pip install pyhanko pyhanko-cliDenetimin Çalıştırılması
pyhanko sign validate --pretty-print belge.pdfÇıktı Windows ve Linux'ta birebir aynıdır; iki platformda da aşağıdaki iki bölüme bakılır.
| Bölüm | Satır | Anlamı |
|---|---|---|
| Integrity | The signature is cryptographically sound. | İmzalanan baytlar değişmemiş. |
| Integrity | The signature is cryptographically unsound. | Belge değiştirilmiş. |
| Modifications | The signature covers the entire file. | Dosyaya sonradan ek yapılmamış. |
| Modifications | The signature does not cover the entire file. | Dosyaya sonradan revizyon eklenmiş. |
Sondaki INVALID satırı belgeyi değil sertifikayı anlatır
Raporun sonundaki The signature is judged INVALID satırı ile Error: Validation failed iletisi, imzalama sertifikasının ve zaman damgası otoritesinin işletim sisteminin güven listesinde bulunmamasından kaynaklanır. Bu satır her belgede aynı çıkar, değiştirilmemiş bir belgede de. Belgenin durumu yalnızca yukarıdaki Integrity ve Modifications bölümlerinden okunur.
Raporun tamamı standart hata akışına (stderr) yazılır; dosyaya aktarılırken 2> yönlendirmesi kullanılır. Komut ayrıca sıfırdan farklı bir çıkış koduyla biter.
Şüpheli Bir Belge Geldiğinde
İmza panelinde is invalid uyarısı ya da N Page(s) Modified satırı görülüyorsa, pyHanko raporunda unsound ya da does not cover the entire file yazıyorsa veya imza alanı hiç yoksa belge TR7'nin ürettiği hâlde değildir.
Böyle bir belge, dosyanın SHA-256 özetiyle birlikte support@tr7.com adresine iletilerek doğrulama talep edilir. Özet şu komutlarla alınır:
sha256sum belge.pdfGet-FileHash belge.pdf -Algorithm SHA256