İçeriğe geç

PAdES taban düzeyleri eşlemesi

PDF gelişmiş elektronik imzalar (PAdES), ETSI EN 319 142 içinde standartlaştırılmış bir profil ailesidir. Dört taban uygunluk düzeyi tanımlar — B-B, B-T, B-LT ve B-LTA — ve her üst düzey, altındaki düzeyin üzerine malzeme ekler. Bu sayfa, söz konusu düzeyleri NextPDF uygulamasının ürettiği yapıyla eşler. Core yüzeyini Pro ve Enterprise sürümlerinin sunduğu yüzeylerden ayırır. Eşleme davranışa dayalıdır: dahili sınıfları değil, motorun ne ürettiğini açıklar.

Kısaca: NextPDF Core, B-B ve B-T ile hizalı imza yapıları üretir. B-LT ve B-LTA üretici yolu, Pro ve Enterprise sürümlerinde sunulur. Üretilen bir imzanın belirli bir düzeye uygun olarak kabul edilip edilmemesi, doğrulayıcıya ve onun yapılandırılmış güven çapalarına bağlıdır. Bir üretici, doğrulayıcı adına uygunluk iddiasında bulunamaz.

Terminal window
composer require nextpdf/core:^3

Bir PDF dijital imzası, imza sözlüğünün Contents girdisinde saklanan bir şifreleme ileti sözdizimi (CMS) SignedData yapısıdır. ByteRange dizisi, özet tarafından kapsanan bayt aralıklarını tanımlar — ISO 32000-2 §12.8.1. CMS SignerInfo, imzalı öznitelikleri taşır; bunlara content-type ve message-digest öznitelikleri dahildir — RFC 5652 §5.3. Bu öznitelikler üzerindeki ileti özeti, §5.4 süreciyle hesaplanır. PAdES, PDF imza sözlüğü içinde CMS gelişmiş elektronik imzalar (CAdES) öznitelik modelini kullanır.

Dört taban düzey toplamsaldır:

  • B-B, zorunlu imzalı özniteliklerle birlikte temel imzayı içerir.
  • B-T, imza değeri üzerinde hesaplanan bir imza zaman damgası özniteliği ekler. Zaman damgası özniteliği, imzanın damgalanan anda var olduğunu kanıtlar — ETSI PAdES §5.4.3. Belirteç, bir RFC 3161 zaman damgası makamı tarafından üretilir — RFC 3161 §2.4.1.
  • B-LT, belge güvenlik deposuna yerleştirilen uzun süreli doğrulama malzemesini ekler — sertifika, çevrim içi sertifika durum protokolü (OCSP) ve sertifika iptal listesi (CRL) verileri — ETSI PAdES §6.2.2, ISO 32000-2 §12.8.4.3 ve ETSI EN 319 142-2 §6.3 içinde açıklanan doğrulama verisi yerleşimi.
  • B-LTA, geçerliliği uzun süreler boyunca korumak için bir arşiv belgesi zaman damgası ekler — ETSI PAdES §6.2.2.

Dört düzey de kesinlikle toplamsaldır — her üst düzey, altındaki düzeyin taşıdığı her şeyi korur ve yalnızca bir yeni malzeme katmanı ekler. Geçiş etiketleri, her adımı sunan üretici sürümünü gösterir.

+ RFC 3161 sig time-stamp

(Core / Enterprise
+ Document Security Store

(Enterprise only)
+ archive doc time-stamp

(Enterprise only)

B-B

CMS signature + signed attributes

B-T

+ signature time-stamp (over the signature value)

B-LT

+ DSS validation material (cert, OCSP, CRL)

B-LTA

+ archive document time-stamp (over the DSS)

;

not

Pro)

Diagram

Bir düzey seçmek için SignatureLevel sabit listesini (enum) kullanın. PAdES_B_B, PAdES_B_T, PAdES_B_LT ve PAdES_B_LTA değerlerini tanımlar. requiresTimestamp(), requiresDss(), requiresDocumentTimestamp() ve isAvailableInEnvironment() yöntemleri, her düzeyin gereksinimlerini ve mevcut çalışma zamanının bunları karşılayıp karşılayamadığını bildirir. Core dağıtımında isAvailableInEnvironment(), B-B ve B-T için true, B-LT ve B-LTA için false döndürür. B-LT ve B-LTA için false döndürür; çünkü uzun süreli doğrulama üreticisi çalışma zamanında çözümlenir ve açık kaynak paketinin parçası değildir. Üretim kodu, bu dahili türler yerine SignerInterface sözleşmesini tüketmelidir.

DüzeyEklediğiCore (nextpdf/core)Pro / Enterprise
B-BZorunlu imzalı özniteliklerle temel imzaHizalı yapı üretir; sentetik altın taban çizgileri üzerinden test edilmiştirAynı yüzey
B-Tİmza değeri üzerinde imza zaman damgasıBir RFC 3161 zaman damgası hizmeti sağlandığında hizalı yapı üretirAynı yüzey
B-LTBelge Güvenlik Deposundaki doğrulama verisiÜretici Core’da sunulmaz; Enterprise paketi olmadan B-LT seçimi kapalı durumda başarısız olurÜretici sunulur
B-LTAArşiv belgesi zaman damgasıÜretici Core’da sunulmaz; yukarıdaki gibi kapalı durumda başarısız olurÜretici sunulur

“Hizalı yapı üretir”, NextPDF uygulamasının, yapısı atıfta bulunulan maddeleri izleyen bir imza ürettiği anlamına gelir. Projenin tests/Corpus/pades/ ve tests/Golden/baselines/ yapıtları bu yapıyı sınar. Bu, harici bir doğrulayıcının çıktıyı o düzeyde onayladığı anlamına gelmez. Uygunluk bölümüne bakın.

examples/contracts/signing-quickstart.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Contracts\SignerInterface;
/**
* Sign a byte range with any SignerInterface implementation.
*
* @param SignerInterface $signer A Core or Premium signer.
* @param string $byteRange The PDF byte range to sign.
*
* @return string Hex-encoded CMS SignedData for the PDF /Contents field.
*/
function signByteRange(SignerInterface $signer, string $byteRange): string
{
return $signer->sign($byteRange)->toHex();
}

İşlev, somut bir sınıfa değil, SignerInterface sözleşmesine bağlıdır. Bunu hem bir Core yazılım imzalayıcısı (B-B veya B-T) hem de bir Premium donanım güvenlik modülü (HSM) imzalayıcısı karşılar. Sürüm değiştiğinde çağrı yapan kod değişmez.

examples/contracts/signing-level.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Security\Signature\SignatureLevel;
/**
* Resolve the highest baseline level the current runtime can produce.
*
* B-B and B-T are produced by the Core distribution. B-LT and B-LTA
* require the Enterprise long-term-validation package; without it the
* level reports unavailable so callers fail closed rather than emit a
* structure that does not carry the validation material the level names.
*
* @return SignatureLevel The highest level available in this runtime.
*/
function highestAvailableLevel(): SignatureLevel
{
foreach ([
SignatureLevel::PAdES_B_LTA,
SignatureLevel::PAdES_B_LT,
SignatureLevel::PAdES_B_T,
SignatureLevel::PAdES_B_B,
] as $level) {
if ($level->isAvailableInEnvironment()) {
return $level;
}
}
return SignatureLevel::PAdES_B_B;
}

isAvailableInEnvironment(), ek paket olmadan B-B ve B-T için true döndürür. B-LT ve B-LTA için yalnızca Enterprise uzun süreli doğrulama paketi kuruluyken true döndürür. Düşüşe (degradation) izin vermeden kullanılamayan bir düzey seçerseniz, NextPDF, iletisi eksik paketi adlandıran türlenmiş bir kullanılamaz düzey istisnası fırlatır. Bu nedenle, yanlış yapılandırılmış bir dağıtım, çağıranın istediğinden daha düşük bir düzeyi sessizce üretmek yerine kapalı durumda başarısız olur.

  • Yapısal olarak B-T olan bir imza, B-T olarak doğrulanmış bir imzayla aynı değildir. Doğrulama, o doğrulayıcının güven çapaları ve iptal bilgilerinin güncelliğiyle doğrulayıcı tarafında gerçekleşir. Üretici, sonuç iddiasında bulunamaz.
  • PAdES B-LT ve B-LTA, NextPDF Enterprise paketini (nextpdf/enterprise) gerektirir. Kurulu değilse, imzalayıcı kapalı durumda başarısız olur ve B-LT/B-LTA kullanılamaz. Core, B-B/B-T düzeylerini genel NextPDF\Contracts\SignerInterface üzerinden sağlar; uzun süreli doğrulama LtvManagerInterface arkasında kalır. Core’da kullanılamayan bir düzeyin seçilmesi, varsayılan olarak kapalı durumda başarısız olur. Türlenmiş istisna, dahili bir türü değil, eksik genel paketi adlandırır. Daha düşük bir düzeye kontrollü düşüş tercihe bağlıdır; asla varsayılan değildir.
  • Bayt aralığı özeti, imza değerini hariç tutmalıdır. Özet, Contents sekizlilerini de kapsarsa, doğrulama asla başarılı olamaz — ISO 32000-2 §12.8.1.
  • B-T’de imza zaman damgası, belge baytları üzerinde değil, imza değeri üzerindedir. B-LTA’da arşiv zaman damgası, ayrı bir belge zaman damgasıdır. Bunlar birbirinin yerine geçmez — ETSI PAdES §5.4.3 ve §6.2.2.
  • ETSI EN 319 142-1 (taban düzeyleri bölümü) bu projenin kanıt derlemesinde yer almaz. Buradaki düzey yapısı iddiaları ETSI EN 319 142-2, yani pades profil belgesi, ISO 32000-2 §12.8 ve RFC 5652 / RFC 3161 ile çapalanmıştır. Düzey adları ve toplamsal yapı, v3.x içinde uygulandığı şekliyle belirtilmiştir. Bu sayfa hiçbir uygunluk testi sonucu veya üçüncü taraf tasdiki öne sürmez.

Maliyet, düzey yükseldikçe artar. B-B tek bir imzalama işlemidir ve yazılım anahtarıyla tek haneli milisaniyeler sürer. B-T, zaman damgası makamına bir ağ gidiş dönüşü ekler. B-LT, zincirdeki her sertifika için iptal bilgisini alma işlemi ekler. B-LTA, ek bir belge zaman damgası ekler. 1500 ms duvar bütçesi, sıcak bir bağlantı üzerinden uzak bir zaman damgası makamı (TSA) ile tek bir B-T imzasını kapsar. Yavaş bir iptal uç noktasıyla B-LT veya B-LTA bunu aşar ve istek yolunun dışında tutulmalıdır. Yeniden üretilebilirlik profili structural profilidir, bitwise değil. Bir zaman damgası, imzalama anını içerir; bu nedenle iki çalıştırmada zaman damgası baytları farklı olurken belge yapısı aynı kalır.

Bir imzanın iddia ettiği düzey ile doğrulandığı düzey farklı gerçeklerdir. Bu sayfa yalnızca üretici yüzeyini açıklar. Uzun süreli doğrulama, imzalama zamanında toplanan doğrulama verisine ve doğrulayıcının daha sonra aynı çapalara güvenmesine bağlıdır. Üretici, bu iki gerçeği birlikte garanti edemez. Zaman damgası güveni, dağıtımın enjekte edilebilir bir sağlayıcı aracılığıyla sabitlediği zaman damgası makamına duyulan güvene indirgenir. Bu sayfa, kriptografik imza profillerini ilgilendirdiği için export_control_class: legal-review-required olarak işaretlenmiştir. Tüm normatif kaynaklar, atıf hijyenine uygun olarak başka sözcüklerle ifade edilmiştir ve hiçbiri yeniden üretilmemiştir.

İddiaStandartMaddeKanıt
İmza değeri, imza sözlüğünün Contents girdisinde DER kodlu CMS SignedData ya da bir TimeStampToken olarak saklanır.ISO 32000-2§12.8.1
Özet, ByteRange aralıkları üzerinde hesaplanır ve imza değerini hariç tutar.ISO 32000-2§12.8.1
İmza zaman damgası özniteliği, imza değeri üzerinde hesaplanır (B-T).ETSI PAdES (EN 319 142)§5.4.3
Uzun süreli doğrulama malzemesi, belge güvenlik deposunda taşınır (B-LT).ETSI PAdES (EN 319 142) / ISO 32000-2§6.2.2 / §12.8.4.3,
Doğrulama verisi, DSS ve VRI sözlüklerine yerleştirilir.ETSI EN 319 142-2§6.3,
Bir arşiv belgesi zaman damgası, geçerliliği uzun süreler boyunca korur (B-LTA).ETSI PAdES (EN 319 142)§6.2.2
SignerInfo, content-type ve message-digest imzalı özniteliklerini taşır.RFC 5652§5.3
İleti özeti, DER kodlu imzalı öznitelikler üzerinde hesaplanır (§5.4 süreci).RFC 5652§5.4
Zaman damgası, bir RFC 3161 TSA kuruluşundan istenir ve bir TSTInfo yapısı döndürür.RFC 3161§2.4.1

Tüm maddeler başka sözcüklerle ifade edilmiştir. NextPDF normatif metni yeniden üretmez. Yetkili metin için yayımlanmış standartlara başvurun. ETSI EN 319 142-1 kanıt derlemesinde yer almaz. Taban düzeylerine ilişkin yapısal iddialar yukarıdaki kaynaklara çapalanmıştır ve v3.x içinde uygulandığı şekliyle belirtilmiştir.

Core, B-B ve B-T imza yapıları üretir. B-LT ve B-LTA üretici yolu, HSM ve PKCS#11 anahtar koruması ve FIPS 140-3 şifreleme politikası profili, Pro ve Enterprise sürümlerinde sunulur. Core, uzun süreli doğrulama üreticisini çalışma zamanında çözer; bu nedenle açık kaynak motoru hiçbir ticari bağımlılık taşımaz. SignerInterface API’si, yükseltme sırasında değişmez.

  • Güvenlik / imzalama — CMS, zaman damgası, uzun süreli doğrulama (LTV), güven zinciri ve iptal için uygulama yüzeyi.
  • Sözleşmeler / imzalamaSignerInterface hizmet sağlayıcı arabirimi (SPI) ve kararlılık katmanları.
  • Güvenlik — şifreleme ve imza uygulama yüzeyi.
  • Uygunluk — imzalı arşivlemeyle uyumlu PDF/A ve profil zorlaması.
  • PAdES · PAdES B-T · DSS · CAdES — sözlük terimleri.