Standartlar dünyası
Spec: ISO 32000-2 ISO 32000-2 Spec: ETSI EN 319 142-1 ETSI EN 319 142-1 Spec: RFC 3161 RFC 3161 Spec: WCAG 2.2 WCAG 2.2 Evidence: Standard-backed
Bir bakışta
“Bir bakışta” başlıklı bölümBir PDF motorunun sorumluluğu tek bir belgeyle sınırlı değildir. Farklı kuruluşlar tarafından yazılmış ve birbirine atıfta bulunan küçük bir standartlar federasyonuna karşı sorumludur. Bu sayfa, söz konusu federasyonu NextPDF’in izlediği biçimde haritalandırır. Ayrıca bir hükmün “standart böyle söylüyor” noktasından “motor böyle davranıyor ve bunu bir test kanıtlıyor” noktasına nasıl taşındığını gösterir.
NextPDF’in bir davranışa ilişkin yorumunun savunulabilir olup olmadığına karar vermeden önce, o davranışı hangi belgenin yönettiğini bilmesi gereken kıdemli bir mühendis için yazılmıştır.
Bunun neden önemli olduğu
“Bunun neden önemli olduğu” başlıklı bölüm“PDF desteği”, bir soruyu gizleyen bir iddiadır: tam olarak neyin desteği? Çekirdek söz dizimi ISO 32000-2’dir. İmzaların yolu ETSI’den geçer. Zaman damgaları bir IETF protokolüdür. Motorun işlediği HTML ve CSS W3C’dir. Altta yatan kriptografi NIST’tir. Çıktının erişilebilirliği yine W3C’dir.
Bir kitaplık bunların tamamını ayrıştırılmamış tek bir yığın gibi ele alırsa, bir hatayı sağlıklı biçimde analiz edemezsiniz. Bir doğrulayıcı imzalı bir faturayı reddettiğinde, ilk yararlı soru “PDF bozuk mu?” değildir. Asıl soru şudur: “hangi standardın hangi hükmü, hangi tarafta karşılanmadı?” Bu soruyu sorabilmek için, kuruluşları adlandıran bir haritaya ve bir hükmün nasıl davranışa dönüştüğüne ilişkin dürüst bir açıklamaya ihtiyacınız vardır.
Kısa özeti
“Kısa özeti” başlıklı bölüm- NextPDF beş standart kuruluşunu izler. ISO biçimden sorumludur. ETSI Avrupa imza profillerinden sorumludur. IETF aktarım protokollerinden sorumludur (zaman damgaları, atıf yoluyla kriptografik ilkel yapılar). W3C HTML, CSS ve erişilebilirlik ölçütlerinden sorumludur. NIST onaylanmış kriptografik algoritmalardan sorumludur.
- Bu belgeler bir liste değil, izler oluşturur: tek bir imzalı PDF yeteneği ISO → ETSI → IETF → NIST boyunca ilerler ve her katman bir sonrakine normatif olarak atıfta bulunur.
- Bir hüküm yalnızca okunarak davranışa dönüşmez. Bir davranışa dönüşmesi için başka sözcüklerle ifade edilip atıf yapılması, bir gereksinime eşlenmesi, uygulanması ve bir testle sabitlenmesi gerekir. Davranışı açıklayan sayfa, bunu kendi kanıt düzeyiyle bildirir.
- Bir hüküm zorunlu olduğunda, normatif bir anahtar sözcük içerir (bir
shall, birmust). NextPDF bu anahtar sözcükleri sözleşme olarak ele alır. Birshould, garanti değil, öneri olarak belgelenen bir tavsiyedir.
NextPDF buna nasıl yaklaşır
“NextPDF buna nasıl yaklaşır” başlıklı bölümBir yığın değil, federasyon
“Bir yığın değil, federasyon” başlıklı bölümMerkezde ISO 32000-2 yer alır. Uyumlu bir dosyanın ne olduğunu tanımlar. Uyumlu bir dosya, belgenin her gereksinimine uymak zorundadır; ancak belgenin açıkça gerektirmediği herhangi bir özelliği atlamakta serbesttir Spec: ISO 32000-2, §6 ISO 32000-2 §6 . Ayrıca yazıcıya bir yükümlülük getirir: NextPDF’in bir dosyada oluşturduğu veya değiştirdiği her şey biçime uymak ve zaten orada bulunan öğelerle tutarlı kalmak zorundadır Spec: ISO 32000-2, §6 ISO 32000-2 §6 . Motorun yapısal olarak tutarsız bir artımlı güncelleme üretmeyi reddetmesinin nedeni işte bu tek hükümdür. Bu bir NextPDF tercihi değil, biçimin kendi kuralıdır.
Bu merkezden bakıldığında ISO 32000-2 dışarıyı işaret eder. İmza işleme, PAdES için ETSI EN 319 142 serisine yapılan “atıf yoluyla” tanımlanır. ETSI ise zaman damgası belirteci için IETF RFC 3161’e, özet ve imza algoritmaları için NIST FIPS serisine atıfta bulunur. Bu nedenle bir yetenek, her biri kendi katmanı için normatif olan birkaç belge boyunca uzanan bir yoldur.
- Step 1 of 5: ISO 32000-2 §12.8 signatures
- Step 2 of 5: ETSI EN 319 142-1 PAdES baseline
- Step 3 of 5: RFC 3161 timestamp token
- Step 4 of 5: NIST FIPS 180-4 hash strength
- Step 5 of 5: WCAG 2.2 tagged output
Bir hüküm nasıl davranışa dönüşür
“Bir hüküm nasıl davranışa dönüşür” başlıklı bölümStandartlarla çalışmanın tehlikeli yolu, bir hükmü okuyup ardından belleğe güvenerek kod yazmaktır. NextPDF’in yolu bilinçli olarak daha uzundur, çünkü daha uzun yol aynı zamanda denetlenebilir yoldur:
- Retrieve The clause is read from the standard, not from memory.
- Cite It is paraphrased and pinned with a chunk digest, never quoted.
- Classify Its keyword (shall / should / may) sets whether it is a contract or a recommendation.
- Map The obligation becomes a concrete engine requirement.
- Implement The requirement is built into the pipeline.
- Pin A test holds the behaviour against drift.
- Tag The page that describes it declares its evidence level.
“Sınıflandır” adımı, belirsizliğin büyük bölümünün giderildiği adımdır. Şartnameler, gereksinim düzeylerini anahtar sözcüklerle kodlar: iyi bilinen MUST, SHALL, SHOULD, MAY ailesi. Bu anahtar sözcüklerin anlamı, yalnızca büyük harfli biçimlerin normatif olduğunu açıklığa kavuşturacak şekilde güncellenen IETF gereksinim anahtar sözcükleri uzlaşımıyla sabitlenir ve ardından her şartnamenin betimleyici metnine uygulanır
Spec: RFC 2119 RFC 2119 Spec: RFC 8174 RFC 8174 .
NextPDF bir shall ifadesini motorun aşamayacağı katı bir sınır olarak okur ve bir
should ifadesini, izlediği ve öneri olarak belgelediği bir tavsiye olarak okur —
asla bir taahhüt olarak değil. Bu ayrım, dürüst bir yetenek beyanı ile
aşırı bir iddia arasındaki farkı belirler.
Uyumluluk ikili değil, kademelidir
“Uyumluluk ikili değil, kademelidir” başlıklı bölüm“Uyumlu” durumu nadiren tek bir bit meselesidir. İmza standartları kademelidir — örneğin Avrupa uzun-vadeli-arşivlemeli profili, bir imzanın oluşturulmasından çok sonra bile doğrulanabilir kalmasını sağlayan zaman damgası belirteçleri eklemek için özellikle vardır Spec: ETSI EN 319 122-1, §6 ETSI EN 319 122-1 §6 . Bu, yalın bir temel imzaya göre kesinlikle daha güçlü bir iddiadır. Erişilebilirlik standardı da aynı yapıdadır: bir uyumluluk düzeyine yalnızca o düzeydeki her başarı ölçütü karşılanarak ulaşılır ve beyan, gerçekte ulaşılan düzeyi belirtir Spec: WCAG 2.2, §5.2.1 WCAG 2.2 §5.2.1 . Bu nedenle NextPDF, niteliksiz bir “uyumlu” yerine profili ve düzeyi belirtir.
Kanıt ne söylüyor
“Kanıt ne söylüyor” başlıklı bölümBu sayfa Evidence: Standard-backed niteliğindedir: her iddia bir hükme dayandırılır, başka sözcüklerle ifade edilir ve bir özetle atıf yapılır; böylece bir sonraki gözden geçiren kişi bunu kaynakla karşılaştırarak yeniden doğrulayabilir.
| Katman | Kuruluş | Bağlantılı hüküm (başka sözcüklerle ifade edilmiş) | NextPDF’te neyi yönettiği |
|---|---|---|---|
| Biçim | ISO | Bir yazıcının oluşturduğu veya değiştirdiği öğeler uyumlu olmak ve tutarlı kalmak zorundadır Spec: ISO 32000-2, §6 ISO 32000-2 §6 | Motorun ürettiği PDF |
| Uyumluluk | ISO | Uyumlu bir dosya tüm gereksinimleri karşılar; ek özellikler isteğe bağlıdır Spec: ISO 32000-2, §6 ISO 32000-2 §6 | “Geçerli çıktı”nın ne anlama geldiği |
| İmza profili | ETSI | Uzun-vadeli-arşivlemeli düzey, sonraki doğrulama için zaman damgaları ekler Spec: ETSI EN 319 122-1, §6 ETSI EN 319 122-1 §6 | Bir imzanın hedeflediği PAdES profili |
| Güvenilir zaman | IETF | Bir zaman damgalama hizmeti, bir verinin belirli bir zamandan önce var olduğunu kanıtlar Spec: RFC 3161, §2 RFC 3161 §2 | Belge zaman damgası belirteci |
| Kriptografi | NIST | Onaylanmış özetler, sağladıkları güvenlik gücü bakımından farklılık gösterir Spec: NIST FIPS 180-4, §1 NIST FIPS 180-4 §1 | Bir imzanın altındaki özet algoritması |
| Çıktı erişimi | W3C | Bir uyumluluk düzeyi, o düzeydeki her ölçütü gerektirir Spec: WCAG 2.2, §5.2.1 WCAG 2.2 §5.2.1 | İşlenmiş PDF’lere ilişkin erişilebilirlik iddiaları |
Atıf yapılan özetler, bu sayfanın citations ön bilgisinde kaydedilir. Standartların metinlerinin hiçbiri burada yeniden basılmaz. Bu seçimi yöneten kural ayrı bir sayfada açıklanır. Atıf disiplini sayfasına bakın.
Pratik örnek
“Pratik örnek” başlıklı bölümStandartlar dünyasını çalıştırmazsınız; motordan ne isteyeceğinize karar vermek için onu okursunuz. Somut olarak, uzun vadede doğrulanabilir bir imzalama çağrısı, standartlar izinin hangi noktasına ihtiyaç duyduğunuza ilişkin bir ifadedir:
<?php
declare(strict_types=1);
use NextPDF\Core\Document;use NextPDF\Security\Signature\CertificateInfo;use NextPDF\Security\Signature\DigitalSigner;use NextPDF\Security\Signature\SignatureLevel;
// The signature level is a coordinate on the ISO -> ETSI -> RFC trail.// PAdES B-B is the ETSI baseline CMS SignedData the Core engine produces;// B-T adds an RFC 3161 timestamp, and B-LT/B-LTA add the DSS and document// timestamps that keep a signature validatable after the certificate// expires. The level you name is the point on the trail you are asking for.$certInfo = CertificateInfo::fromFiles( certPath: 'signer-cert.pem', keyPath: 'signer-key.pem',);
// The functional signing path is the direct two-phase signing engine.// (Document::setSignature() records intent but its writer seam is not yet// wired and fail-fasts on output — see the PadesOrchestrator docblock.)$signer = new DigitalSigner( certInfo: $certInfo, level: SignatureLevel::PAdES_B_B,);
$result = $signer->sign(file_get_contents('agreement.pdf'));
printf( "PAdES %s CMS: %d bytes, timestamp=%s\n", SignatureLevel::PAdES_B_B->value, $result->getSize(), $result->hasTimestamp() ? 'yes' : 'no',);Yalın bir temel yerine PAdES_B_LTA düzeyini adlandırmak, bir başarı düğmesine basmak değildir. Bu, yükümlülüğün standartlar izinde ne kadar derine ulaştığına ilişkin bir karardır. B-LT ve B-LTA, DSS ve arşivleme-zaman-damgası katmanlarını devreye alır ve çalışma zamanında kurumsal LTV paketini gerektirir. Motor, sessizce geriye düşmek yerine, daha düşük bir düzeyin daha yüksek bir düzey sunduğunu varsaymayı reddeder.
Yaygın yanlış anlama
“Yaygın yanlış anlama” başlıklı bölümTuzak, “NextPDF standartlara uyumludur” ifadesini tek ve eksiksiz bir garanti olarak okumaktır. Öyle değildir ve hiçbir dürüst motor böyle bir garanti sunmaz. Uyumluluk standart başına, hüküm başına ve düzey başına geçerlidir. NextPDF, PDF 2.0 temelini, adlandırılmış PAdES profillerini ve belirtilen erişilebilirlik düzeylerini hedefler — her birinin kapsamı belirlenmiştir ve her birine atıf yapılmıştır. Arkasında bir hüküm ve bir düzey bulunmayan bir iddia pazarlamadır ve Insider_ böyle bir iddiayı yayımlamaz.
İkinci ve daha incelikli tuzak, normatif bir should ifadesini taahhüt sanmaktır. Bu bir tavsiyedir. NextPDF tavsiyeleri tavsiye olarak belgeler. Motorun garantileri shall hükümlerinden inşa edilir ve bu fark belirleyicidir.
Sınırlar ve kapsam
“Sınırlar ve kapsam” başlıklı bölümBu sayfa, arazinin kendisi değil, haritasıdır. NextPDF’in uyguladığı her hükmü tek tek saymaz ve bir uyumluluk sertifikası değildir. Her davranışın kanıtı, davranışın sahibi olan konu sayfasında, o sayfanın kendi kanıt düzeyiyle birlikte bulunur — örneğin biçim farkı için PDF 2.0: neler değişti.
Standartlar dünyası da değişir. Yeni baskılar yayımlanır. Atıflar güncellenir. Burada atıf yapılan bir hüküm, bu sayfanın citations bilgisinde kaydedilen derleme anlık görüntüsüne sabitlenir. Bir üst kaynak standart düzeltildiğinde, atıfın geçerli kaldığı varsayılmaz; yeni hükme karşı yeniden doğrulanır. Bu sayfa bir Premium katmanı yeteneğini adlandırdığında, bunu hangi standarda karşı sorumlu olduğu düzeyinde yapar, asla iç mekanizma düzeyinde yapmaz.
İlgili belgeler
“İlgili belgeler” başlıklı bölüm- PDF 2.0: neler değişti — bu haritanın biçim katmanının işaret ettiği somut ISO 32000-2 farkı.
- Bir ürün olarak belgeleme — hükümleri davranışa eşleme disiplininin neden mühendislik olarak ele alındığı.
- Atıf disiplini — bir hükme burada nasıl atıf yapılacağına ve bir kanıt düzeyinin ne anlama geldiğine karar veren kural.
Sözlük
“Sözlük” başlıklı bölüm- Standart kuruluşu — bir şartname yayımlayan bir kuruluş (ISO, ETSI, IETF, W3C, NIST). Her biri PDF yığınının farklı bir katmanından sorumludur.
- Normatif hüküm — bir standarttaki, anahtar sözcüğüyle tanımlanan bir gereksinim (zorunlu için
shall/must, tavsiye edilen içinshould, isteğe bağlı içinmay). - Standartlar izi — tek bir yeteneğin izlediği, her belgenin bir sonrakine normatif olarak atıfta bulunduğu sıralı bir şartnameler zinciri.
- Uyumluluk düzeyi — kademeli bir uyumluluk basamağı (bir ETSI temel profili, bir WCAG düzeyi). Bir beyan, niteliksiz bir “uyumlu” değil, gerçekte ulaşılan düzeyi belirtir.
- PAdES — PDF Advanced Electronic Signatures; PDF imzalama için ETSI EN 319 142 imza profilleri ailesidir ve ISO 32000-2 buna atıfta bulunur.