✍️
E-İmza Rehberi Bireysel ve Kurumsal Elektronik İmza Portalı

PAdES-LTV imzalı PDF belgesinde form doldurulduğunda imzanın geçersiz olma sorunu

Sözleşmelerimizi PAdES-LTV (Uzun Dönem Geçerli) formatında e-imza ve zaman damgası kullanarak hukuken geçerli şekilde imzalıyoruz. Ancak, bu imzalı PDF belgesini müşterimize gönderdiğimizde, müşteri belgeyi Adobe Acrobat Reader'da açıp belgede tarafımızca bırakılmış olan boş form alanlarını doldurduğunda önceden atılmış olan bizim nitelikli e-imzamız 'belge değiştirildi' veya 'imza bütünlüğü bozuldu' uyarısı vererek geçersiz (invalid) duruma düşüyor. PAdES formatında form doldurulmasına hukuki ve teknik olarak izin verip imzanın geçerliliğini nasıl koruyabiliriz?
Durum: Çözüldü Kategori: Soru-Cevap

1 Cevap

✓

PAdES (PDF Advanced Electronic Signatures) uluslararası standartlarında imzalanmış bir belgede, kriptografik imza atıldıktan sonra yapılan her değişiklik (bayt bazında PDF yapısına yapılan en ufak müdahale) varsayılan olarak belge bütünlüğünü (Integrity) bozar ve haklı olarak imzanın geçersiz kılınmasına neden olur. 5070 Sayılı Elektronik İmza Kanunu kapsamında belgenin bütünlüğünün, inkar edilemezliğinin korunması esastır. Karşılaştığınız bu senaryo, PDF imzalama sözlüklerinde (Signature Dictionary) yer alan ve belge üzerinde imza atıldıktan sonra hangi tür değişikliklere meşru olarak izin verileceğini belirleyen DocMDP (Document Modification Detection and Prevention) politikaları ile doğrudan ilişkilidir.

Sorunun Kesin Çözümü İçin DocMDP Ayarlarının Yapılandırılması:

  • Sertifikasyon İmzası ve Onay İmzası Farkının Anlaşılması: Adobe PDF mimarisinde teknik olarak iki tür imza bulunur: Onay İmzası (Approval Signature) ve Sertifikasyon İmzası (Certifying Signature). Eğer PDF belgesini ilk oluşturan, hak sahibi olan ve imzalayan sizseniz, belgeyi bir Sertifikasyon İmzası (MDP) ile imzalamanız gerekir. Bu özel imza türü, belgeye özel izinler ve kısıtlamalar tanımlamanıza olanak tanır.
  • İzin Seviyesinin (P Permission) Doğru Belirlenmesi: PAdES kütüphanenizle (örneğin Java'da iText, Apache PDFBox, veya ticari e-imza API'leri) imzalama işlemi yaparken DocMDP sözlüğündeki P (Permission) anahtarına uygun kısıtlama değerini vermelisiniz.
    • P = 1: Belgede hiçbir değişikliğe izin verilmez. Belge kilitlenir. (Sizin şu an kullandığınız ve form doldurulunca hataya yol açan varsayılan katı ayar budur).
    • P = 2: Sadece önceden tanımlanmış form alanlarının doldurulmasına (Form Fill-in) ve belgeye yeni onay imzaları eklenmesine izin verilir. Çözümünüz bu ayardır.
    • P = 3: Form doldurmaya, yorum (Annotation) eklemeye ve yeni imza atmaya izin verilir. Daha esnektir.
  • Zaman Damgası (LTV) ve Form Alanlarının Davranışı: PAdES-LTV (Long Term Validation) yapısı gereği, belgenin uzun yıllar doğrulanabilmesi için gerekli veriler (CRL, OCSP yanıtları, kök sertifikalar) PDF içine özel bir yapıya gömülür (Document Security Store - DSS). Form alanı doldurulduğunda, PDF belgesinin dosya yapısına "Incremental Update" (Artımlı Güncelleme) yapılır. Orijinal baytlar silinmez. Adobe Acrobat Reader, belgenin ilk imzasında DocMDP P=2 veya P=3 seviyesi ayarlanmışsa, yapılan bu artımlı güncelleme işlemini önceden "izin verilen meşru değişiklikler" kapsamında değerlendirir. Böylece önceki imzanın kriptografik hash değeri bozulmaz, orijinal versiyon güvenle korunur ve ekranın üst kısmında yeşil veya sarı bir çubukla "İmza geçerli ancak belgede form doldurulmuş/güncelleme yapılmış" şeklinde bilgilendirici bir uyarı verir. İmza kesinlikle "Geçersiz (Invalid)" durumuna düşerek hukuki vasfını kaybetmez.

Özetle yazılım tarafında; imza modülünüzde imza politikası olarak Approval yerine Sertifikasyon İmzası oluşturup, izin seviyesini form alanları doldurulabilir olacak şekilde (P=2) ayarladığınızda müşterileriniz sözleşmeyi doldururken bu teknik sorunu bir daha yaşamayacaksınız.

Yanıtlayan
Yazılım Mimarı K.