İmzalı sözleşme iş akışı
Spec: ETSI EN 319 142-2, §5.1 ETSI EN 319 142-2 §5.1 Spec: ISO 32000-2:2020, §12.8 ISO 32000-2:2020 §12.8 Evidence: Mixed evidence
Genel bakış
“Genel bakış” başlıklı bölümİmzalı bir sözleşme, yalnızca “üzerinde imza bulunan bir PDF” değildir. İmzanın doğru baytları koruyabilmesi için hazırlanmış bir belgedir. Yükümlülüğe uygun bir düzeyde imzalanmıştır. İmzalama sertifikasının süresi dolduktan sonra bile doğrulanabilecek şekilde paketlenmiştir. Bu sayfa, bu senaryoyu boş bir belgeden uzun ömürlü bir sözleşmeye kadar adım adım ele alır. Bugün hangi adımların motora bağlandığı ve hangilerinin dondurulmuş bir yüzey olarak sunulduğu konusunda açık sözlüdür.
Bunun neden önemli olduğu
“Bunun neden önemli olduğu” başlıklı bölümİmzalandığı gün doğrulanan, ancak üç yıl sonra bir anlaşmazlıkta başarısız olan bir sözleşme, hiç imza bulunmamasından daha kötüdür; çünkü birisi ona güvenmiştir. Başarısızlığın nedeni nadiren kriptografidir; genellikle eksik bir zaman damgası ya da eksik iptal kanıtıdır ve bu, imzalayan kişi çoktan ayrıldıktan sonra karara bağlanır.
İmza yükümlülüğünü en baştan seçmek ve yükümlülüğün gerektirdiği kanıtı imzalama anında üretmek, ayakta kalan bir sözleşme ile sessizce çürüyen bir sözleşme arasındaki farktır. Bu karar, her anlaşmazlıkta yeniden keşfedilecek bir şey değil; iş akışı içinde bir kez verilmesi gereken bir karardır.
Kısa özet
“Kısa özet” başlıklı bölüm- Önce hazırlayın, sonra imzalayın. Bir imza, yalnızca üzerinde hesaplandığı bayt aralığını kapsar. Belgenin nihai olduğuna — daha sonra eklenecek tüm revizyonlar dâhil — imzalamadan önce karar verin, imzaladıktan sonra değil.
- Düzeyi yükümlülüğe göre seçin; tersini yapmayın. PAdES bir aşamalandırma tanımlar: temel bir imza, zaman damgalı bir imza, gömülü doğrulama malzemesi içeren bir imza ve süresiz arşivsel geçerlilik için yeniden damgalanan bir imza (ETSI EN 319 142-2 §5.1).
- Uzun vadeli geçerlilik bir özellik değil, bir yapıdır. Dosyaya yazılan bir Document Security Store ile bir belge zaman damgasından oluşur (ISO 32000-2:2020 §12.8).
- Bağlanma noktası konusunda net olun. NextPDF’in üst düzey
Document::setSignature()çağrısı genel API’yi dondurur, ancak imzasız bir dosya üretmek yerine hızlıca başarısız olur. Bağlanmış yol, alt düzey orkestratördür. Bu sayfa, durumun aksini iddia etmez.
NextPDF buna nasıl yaklaşır
“NextPDF buna nasıl yaklaşır” başlıklı bölümNextPDF, kararı mekanizmadan ayırır. Karar, yükümlülüğün hangi PAdES düzeyini gerektirdiğidir. Mekanizma ise baytların nasıl imzalandığı ve doğrulama malzemesinin nasıl taşındığıdır. Bunları tek bir şey gibi ele almak, ekiplerin geçerli ama kalıcı olmayan bir imzayla kalmasına yol açar.
Senaryo dört aşamadan oluşur.
- Prepare the document Compose the agreement and treat it as final. The signature will protect this exact byte range and nothing added outside it without a new revision.
- Choose the obligation B-B proves who. B-T adds trusted time. B-LT embeds the material to validate later. B-LTA re-stamps for indefinite validity.
- Sign A CMS signature is embedded in the signature dictionary over the byte range; a timestamp is requested from a TSA if the level needs one.
- Preserve For long-term levels, the Document Security Store and a document timestamp are written so the signature outlives its certificate.
Düzey enum’u gerçek bir modeldir ve yükümlülüğü açıkça kodlar. B-B imzalayanın kimliğini kanıtlar. B-T güvenilir bir zaman damgası ekler. “Ne zaman” sorusu, “kim” sorusu kadar kesin biçimde sorulur. B-LT, imzalama sertifikasının süresi dolduktan sonra imzayı doğrulamak için gereken sertifikaları ve iptal yanıtlarını gömer.
B-LTA, belge zaman damgaları ekler; böylece güven zinciri,
her zaman damgası sertifikasının süresi dolmadan önce yeniden damgalanarak süresiz olarak uzatılabilir. Bu
enum, hangi düzeylerin zaman damgası gerektirdiğini ve hangilerinin gömülü
doğrulama malzemesi gerektirdiğini bilir; böylece motor, yanıltıcı biçimde “imzalanmış” bir dosya üretmek yerine
olanaksız bir kombinasyonu reddedebilir.
Kanıtın söyledikleri
“Kanıtın söyledikleri” başlıklı bölümBu aşamalandırma standartlarla desteklenir. Evidence: Standard-backed Spec: ETSI EN 319 142-2, §5.1 ETSI EN 319 142-2 §5.1 EN 319 142-1 yapı taşları üzerine katmanlanan PAdES düzeylerini, temel bir gömülü imzadan başlayarak yukarıya doğru tanımlar. Uzun vadeli yapıyı şu standart belirler: Spec: ISO 32000-2:2020, §12.8 ISO 32000-2:2020 §12.8 : uzun vadeli doğrulama, dosyaya yazılan bir Document Security Store ile bir belge zaman damgası sözlüğüne dayanır.
Düzey modeli kod desteklidir. Evidence: Code-backed Söz konusu
SignatureLevel enum’u dört PAdES durumunu içerir (B-B, B-T, B-LT,
B-LTA) ve “zaman damgası gerektirir”, “gömülü
doğrulama malzemesi gerektirir” ve “belge zaman damgaları gerektirir” için yüklem metotlarına sahiptir. Üst düzey
Document::setSignature() çağrısı, imzasız bir belge üretmek yerine
engelleyici ve eyleme dönüştürülebilir bir tanılama mesajı üreten
hızlıca başarısız olan bir koruyucuya bağlanmıştır — bir iddia değil, doğrulanabilir bir davranıştır.
Uzun vadeli bakım davranışı, Premium katmanı için yetenek düzeyinde belgelenmiştir: arşivleme yüzeyi, DSS’yi ve imza başına VRI’yi yazar, arşivleme bütünlüğünü bir sağlık denetimiyle inceler ve zaman damgası sertifikasının süresi dolmadan önce bir belge zaman damgasıyla yeniden damgalar. Belgeler, kararın yine de doğrulayıcıya ait olduğunu açıkça belirtir.
Pratik örnek
“Pratik örnek” başlıklı bölümBu, gerçek enum’u kullanarak kararı — yükümlülüğün seçimini — gösterir. Bağlanmış imzalama yolu, alt düzey orkestratördür. Üst düzey çağrı, yalnızca hızlıca başarısız olma davranışını açıkça göstermek için yer alır.
<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
/** * Map a business obligation to a PAdES level. * * The obligation drives the level, not the reverse — choosing B-B for a * 10-year contract is a decision you do not want to make implicitly. */function levelForObligation(string $obligation): SignatureLevel{ return match ($obligation) { // Internal sign-off, short retention, signer identity is enough. 'internal_approval' => SignatureLevel::PAdES_B_B,
// Counterparty agreement: prove the moment of signing. 'counterparty_agreement' => SignatureLevel::PAdES_B_T,
// Regulated contract that must verify after cert expiry. 'regulated_contract' => SignatureLevel::PAdES_B_LT,
// Long-lived legal record: indefinite, re-stampable validity. 'long_term_legal_record' => SignatureLevel::PAdES_B_LTA,
default => throw new \InvalidArgumentException( "Unknown obligation: {$obligation}", ), };}
$level = levelForObligation('regulated_contract');
// The enum carries the obligation's implications with it.$needsTsa = $level->requiresTimestamp(); // true for B-T+$needsDss = $level->requiresDss(); // true for B-LT+$needsArchive = $level->requiresDocumentTimestamp(); // true only for B-LTADüzey nesnesi yalnızca bir etiket değildir. Yükümlülüğün ne gerektirdiğini söyler; böylece aşağı akıştaki bağlanmanın bunu yeniden türetmesi gerekmez.
Yaygın yanlış anlama
“Yaygın yanlış anlama” başlıklı bölümSık yinelenen yanlış anlama şudur: “imza geçerli, dolayısıyla işimiz bitti.” Bugünkü geçerlilik gereklidir, ancak yeterli değildir. Bir imza, bir bayt aralığı üzerinde hesaplanır. Sonraki bir revizyonda o aralığın dışına eklenen hiçbir şey imza tarafından kapsanmaz; hazırlığın imzalamadan önce gelmesinin nedeni tam olarak budur. Ayrıca şu anda doğrulanan bir imza, doğrulama malzemesi imzalama anında gömülmediyse sertifikasının süresi dolduktan sonra başarısız olabilir. “Geçerli” ve “kalıcı” farklı güvencelerdir ve hangisine gerçekten ihtiyaç duyduğunuzu yalnızca yükümlülük söyler.
Bu motora özgü ilgili bir tuzak da üst düzey
setSignature() çağrısının bugün imzalı bir dosya ürettiğini varsaymaktır. Üretmez. Bilinçli olarak
hızlıca başarısız olur. Tanılama mesajını sözleşme olarak kabul edin.
Sınırlamalar ve sınırlar
“Sınırlamalar ve sınırlar” başlıklı bölümDocument::setSignature()bağlanmış bir imzalayıcı değil, dondurulmuş bir genel yüzeydir. Engelleyici bir tanılama mesajıyla hızlıca başarısız olur. İmzalı bir PDF yerine asla imzasız bir PDF üretmez. Bağlanmış yol, alt düzey iki aşamalı orkestratördür.- Uzun vadeli doğrulama bakımı (DSS/VRI, sağlık denetimi, arşivsel zaman damgası döngüsü) Premium katmanına özgü bir yetenektir. Core, arşivsel döngüyü sağlamaz. Aşağıdaki sınıra bakın.
- Bir imza yalnızca kendi bayt aralığını korur. Sonradan eklenen revizyonlar ayrıdır. Motor, kapsamı geriye dönük genişletmez.
- NextPDF yapıları üretir ve sürdürür; karar vermez. Bir imzanın güvenilir olup olmadığı, motorun dışında kalan, doğrulayıcının güven çıpalarına ve politikasına bağlıdır.
- B-LTA tek başına bir imzayı sonsuz kılmaz. Yeniden damgalama döngüsü, her zaman damgası sertifikasının süresi dolmadan önce zamanında çalıştığı takdirde yalnızca süresiz geçerliliği etkinleştirir.
- Bu sayfa, Premium arşivleme yüzeyi için davranış düzeyinde kalır. Belirli bir mahkeme ya da makam tarafından kabul edildiğini ileri sürmez.
| Edition | Availability |
|---|---|
| Core | Core, |
| Pro | Orkestratör aracılığıyla PAdES temel imzalama (B-B / B-T) kullanılabilir. |
| Enterprise | B-LT / B-LTA, Document Security Store ile imza başına VRI bakımını, LTV sağlık denetimini ve süresiz geçerlilik için belge zaman damgası arşivleme döngüsünü ekler. |
İlgili belgeler
“İlgili belgeler” başlıklı bölüm- PAdES temel profilleri — bir aşamalandırma olarak açıklanan ve nasıl seçileceği anlatılan B-B, B-T, B-LT, B-LTA.
- Uzun vadeli doğrulama — bugün doğrulanan bir imzanın on yıl içinde neden başarısız olabileceği ve LTV’nin kanıtı nasıl gömdüğü.
- Entegrasyon karar kılavuzu — NextPDF Connect’teki insan onayı bağlanma noktası dâhil olmak üzere, bir imzalama iş akışına hangi ekosistem paketinin uygun olduğu.
Sözlük
“Sözlük” başlıklı bölüm- PAdES — PDF Advanced Electronic Signatures: gelişmiş bir elektronik imzanın PDF içinde nasıl taşındığını tanımlayan ETSI profil ailesi.
- Bayt aralığı — bir imzanın üzerinde hesaplandığı, bitişik dosya baytları aralığı; bu aralığın dışındaki içerik söz konusu imza tarafından korunmaz.
- İmza düzeyi (B-B / B-T / B-LT / B-LTA) — PAdES aşamalandırmasında kimin imzaladığını, ne zaman imzaladığını, gömülü doğrulama malzemesini ve süresiz arşivsel geçerlilik için yeniden damgalanabilirliği ifade eder.
- TSA — Time-Stamping Authority (Zaman Damgalama Makamı): bir belgenin durumunun belirli bir UTC anında var olduğunu ileri süren bir RFC 3161 hizmeti.
- DSS (Document Security Store) — bir imzanın sertifikasının süresi dolduktan sonra onu doğrulamak için gereken sertifikaların, OCSP yanıtlarının ve CRL’lerin dosya içindeki deposu.
- LTV (Long-Term Validation, Uzun Vadeli Doğrulama) — doğrulama kanıtını gömerek ve yeniden damgalayarak bir imzayı zaman içinde doğrulanabilir tutmak.
- Fail-fast (hızlıca başarısız olma) — yanlış bir dosyayı sessizce üretmek yerine, yanıltıcı bir yapıt üretmeyi reddedip eyleme dönüştürülebilir bir hata oluşturma.