İçeriğe geç

Bir PDF'yi PAdES tabanlı imzayla imzalayın (taşındı)

Daha önce bu sayfada yer alan imzalama anlatımı artık kullanımdan kaldırıldı. Bunun yerine standart tarifi kullanın:

Bir PDF’yi PAdES B-B ile imzalayın, ardından PAdES B-T’ye genişletin

Bu sayfanın daha önceki bir sürümü, üst düzey Document::setSignature()save() yolunun bağlanmadığını ve NotImplementedException fırlattığını belirtiyordu. Bu artık geçerli değil. Üst düzey yol artık gerçek bir imza yazar.

Document::setSignature($cert, SignatureLevel::PAdES_B_B)->save() (ve buna eşdeğer output() / getPdfData()), bir /Sig alanını (bir /ByteRange ile birlikte) ve Distinguished Encoding Rules (DER) kodlamalı bir Cryptographic Message Syntax (CMS) SignedData nesnesini imza sözlüğünün Contents girdisine yazar. ISO 32000-2 §12.8’in ETSI.CAdES.detached SubFilter için belirttiği yapı budur. Sonuç CMS ile doğrulanabilir: standart bir CMS/PKCS#7 (Public-Key Cryptography Standards #7) doğrulayıcısı bunu ayrıştırır ve denetler.

  • B-B — Core düzeyi — doğrudan bu yol üzerinden üretilir.
  • B-T, aynı çağrıda bir TsaClient ilettiğinizde bir RFC 3161 signature-time-stamp ekler.
  • B-LT / B-LTA, aynı üst düzey yol (setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save()) üzerinden, Pro ve Enterprise paketleri kuruluysa erişilebilir; bunlar olmadan çağrı, kısmi bir uzun vadeli düzeltme yazmak yerine güvenli biçimde başarısız olur. Şifrelenmiş belgelerde de B-LT/B-LTA için güvenli biçimde başarısız olunur.

Daha düşük düzeyli NextPDF\Security\Signature\DigitalSigner yolu hâlâ desteklenmektedir. Aşağıdaki standart tarif, bu yolu baştan sona adım adım açıklar. Üst düzey yol, aynı imzalama motorunun üzerine eklenmiş ince bir kolaylık katmanıdır. Tümleştirme test paketi her iki yolu da çalıştırır ve gerçek, ayrıştırılabilir bir CMS nesnesi üretir.

U-1 uyarısı (iddianın kapsamı). “CMS ile doğrulanabilir”, üretilen nesnenin RFC 5652 ve ISO 32000-2 §12.8 uyarınca iyi biçimlendirilmiş bir CMS SignedData olması anlamına gelir. Bu, ETSI EN 319 142-1 taban-profil uyumluluğu veya yasal geçerlilik beyanı değildir. Bu standardın taban düzeyler bölümü doğrulama korpusunda yer almaz; B-T signature-time-stamp gereksinimi şunlara karşı denetlendi: RFC 3161, RFC 5652, RFC 5816 ile birlikte ETSI EN 319 122-1 §5.3 ve ISO 32000-2 §12.8’e. B-LT/B-LTA, uzun vadeli doğrulama yapısını üretir (bir DSS sözlüğü ve bir DocTimeStamp düzeltmesi); bunların profil uyumluluk testinden geçtiği belirtilmez. Bağımsız bir doğrulayıcı, uyumluluğu ve yasal geçerliliği belirler.

Eski sayfanın diskteki yapı hakkında belirttiği yapısal bilgiler geçerliliğini korur. Yerine geçen tarif, bunları kanıtlarıyla yeniden açıklar:

  • İmza değeri, imza sözlüğünün Contents girdisinde saklanır (ISO 32000-2 §12.8.1).
  • Özet, ByteRange üzerinden hesaplanır ve imza değerinin kendisini kapsam dışında bırakır (ISO 32000-2 §12.8.1).

Bu sayfa, elde edilen herhangi bir imzanın yasal olarak geçerli olduğunu ileri sürmez. Yasal geçerlilik; sertifikaya, sertifikanın güven çıpasına ve doğrulayıcının politikasına bağlıdır. Bunların tümü bu kitaplığın dışında yer alır.