İçeriğe geç
getnextpdf.com

Enterprise sürüm

İmza doğrulama — Derinlemesine başvuru

Bu sayfa, NextPDF Enterprise’daki AdES doğrulama tarafı yüzeyine yönelik derinlemesine referanstır. Giriş noktası NextPDF\Enterprise\Security\Validation\AdESValidationEngine’dir. NextPDF’in temel, zamanlı, uzun vadeli ve arşiv zaman damgası kontrolleri için ETSI modelli doğrulama akışlarını uygular: temel doğrulama, zamanlı doğrulama, uzun vadeli verilerle doğrulama ve arşiv DocTimeStamp kapsam zinciri doğrulaması. Sonuçlar, ETSI URN dize değerleriyle MainIndication ve SubIndication enum durumlarını taşıyan ValidationReport değerleridir. Burada belgelenen destekleyici yüzeyler: SignatureDataExtractor SPI’si ve onun CmsSignatureDataExtractor uygulaması, PdfSignatureDictionaryScanner bayt düzeyi tarayıcısı, NextPDF\Enterprise\Security\Pki yol doğrulama yüzeyi ve BatchSignatureValidator. İş akışı düzeyinde rehberlik için bkz. İmza doğrulama: AdES / PAdES kriptografik doğrulama tarafı.

Bu yetenek NextPDF Enterprise (nextpdf/enterprise) ile birlikte gelir ve bir Enterprise katmanı lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans edinin.

SembolParametrelerVarsayılan davranışDöndürürFırlatır veya şununla başarısız olurNotlar
AdESValidationEngine::__construct11 isteğe bağlı parametre: ?PathValidatorInterface $chainValidator, ?SignatureDataExtractor $extractor, ClockInterface $clock, ?LoggerInterface $logger, string $defaultPolicy, NetworkPolicy $networkPolicy ve beş isteğe bağlı doğrulayıcı iş ortağıTüm varsayılanlar hataya karşı kapalıdır: motor saati üzerinde Pki yol doğrulayıcısı, çıkarıcı yok, TSA güven deposu yokYeni motorFırlatmazGüven deposu olmadığında TSA zinciri değerlendirmesi güvenilmez olarak raporlar; bu INDETERMINATE’e eşlenir, asla bir geçiş değil
AdESValidationEngine::validateBasicstring $signedData, string $signatureTemel doğrulama: format, özet, kripto, zayıf algoritma, zincir, kaynak-korumalı iptalValidationReportFırlatmaz; çıkarma ve yol hataları hataya karşı kapalı raporlara eşlenirÇıkarıcı olmadan yalnızca koruma kontrolleri; bkz. uç durumlar
AdESValidationEngine::validateWithTimestring $signedData, string $signature, DateTimeImmutable $claimedTimeÖnce temel doğrulama; sertifika penceresi ve iptal, iddia edilen zamana göre karşılaştırılırValidationReportFırlatmazÖznitelik mevcut olduğunda sıkı imza zaman damgası kapısı; $claimedTime zaman çıpası olarak kalır
AdESValidationEngine::validateWithLongTermDatastring $signedData, string $signature, array $dssData (certs/ocsps/crls)Temel geçiş gerekir; genTime’da TSA ile hazırlanmış imza zaman damgası kapısı; POE, DSS iptali ve arşiv kapılarıValidationReportFırlatmazYetersiz gömülü veriyle NetworkPolicy::STRICT_OFFLINE, INDETERMINATE / TRY_LATER verir
AdESValidationEngine::validateArchivalTimestampChainstring $pdfBytes, array $dssData = [], ?TrustAnchorStoreInterface $anchors = nullTam ByteRange baytları üzerinde kanıta dayalı DocTimeStamp kapsam zinciriValidationReportDüşmanca baytlarda fırlatmazTOTAL_PASSED yalnızca güvenilir, EOF kapsayan bir zincir için
MainIndicationDize destekli enum, üç durumETSI URN değerleri; aşağıdaki durum listesine bakın
SubIndicationDize destekli enum, on beş durumETSI URN değerleri; aşağıdaki durum listesine bakın
ValidationReport::__constructMainIndication $mainIndication, ?SubIndication $subIndication, DiagnosticData $diagnosticData, DateTimeImmutable $validationTime, string $validationPolicy = ''Değişmez (final readonly) doğrulama sonucuYeni raporFırlatmazisPassed(), isFailed(), isIndeterminate(), toArray()
DiagnosticData::__constructarray $certificateChain, array $timestamps, array $revocationData, string $validationPolicy, string $signatureFormat, array $warnings (tümü varsayılan)Değişmez kanıt kapsayıcısı; yalnızca denetim iziYeni değerFırlatmaztoArray() raporlama için referansları serileştirir
SignatureDataExtractor::extractstring $signedData, string $signatureSPI: CMS’i ayrıştırın ve doğrulama bileşenlerini çıkarınExtractedSignatureDataİmza ayrıştırılamadığında SignatureExtractionExceptionArayüz; ASN.1 ayrıştırmayı motordan ayırır
CmsSignatureDataExtractor::extractstring $signedData, string $signatureAyrı bir PAdES temel imzasını çıkarır ve ayrıca kriptografik olarak doğrularExtractedSignatureDataYalnızca CMS hiç ayrıştırılamadığında SignatureExtractionExceptionKripto veya bağlama hatası, cryptoValid / hashValid false olan veri döndürür; bunun için asla fırlatmaz
PdfSignatureDictionaryScanner::scanstring $pdfBytesTam-oturur sahtekarlık önleyici çapraz kontrollerle /ByteRange + /Contents sözlükleri için bayt düzeyi taramalist<PdfSignatureOccurrence>Toplam; asla fırlatmaz; hatalı biçimlendirilmiş adaylar atlanırKapsam sonuna göre sıralı, en erken önce
PathValidatorInterface::validatearray $chain, ?DateTimeImmutable $validationTime = null, array $initialPolicies = []İlke işlemeli RFC 5280 §6.1.4 yol doğrulamasıPathValidationResultYapısal olarak geçersiz bir zincirde veya ihlal edilen düşmanca bir sınırda PathValidationExceptionZincir, önce son varlık, en son çıpa
PathValidatorInterface::validateWithAiaChasingarray $chain, ?DateTimeImmutable $validationTime = nullEksik ara sertifikaların AIA çözümlemesi, ardından doğrulamaPathValidationResultPathValidationExceptionGetirmeler, zaman aşımı ve bayt sınırlarıyla sınırlandırılır
CertificateChainValidatorKurucu: motor, PathValidationOptions, saat, günlükleyici; statik withDefaults()Varsayılan düşmanca üst sınırlarla SPI uygulamasıHer iki yöntemden de PathValidationResultPathValidationExceptionAyrıca bir OpenSSLCertificate PEM’e aktarılamadığında da fırlatılır
PathValidationOptions::__constructÜst sınırlar (maxDepth, maxPolicyFanout, fetchTimeoutSeconds, fetchSizeCapBytes) artı ilke bayrakları, ?TrustAnchorStoreInterface $trustAnchors, bool $requireTrustedAnchorDerinlik 32, yayılım 64, getirme başına 5 sn, getirme başına 10 MiB; tüm bayraklar falseYeni seçeneklerFırlatmazFabrikalar: defaults(), strict(), withTrustAnchors()
PathValidationResult::__constructbool $valid, string $trustAnchorFingerprint, DateTimeImmutable $validatedAt, array $validPolicies, ?RevocationCheckResult $revocation, bool $trustAnchorTrusted, array $fetchedCertificates, array $failureReasonsDeğişmez sonuç; trustAnchorTrusted varsayılan olarak false (hataya karşı kapalı)Yeni değerFırlatmazGüven üyeliği, yapısal geçerlilikten ayrıdır
PolicyProcessorKurucu: PolicyTreeState $state, PathValidationOptions $options; processCertificate(string $certDer, int $depth, bool $selfIssued), finalizeWrapUp(), tree()RFC 5280 §6.1.4 ilke ağacı genişletme, eşleme ve tamamlamavoid / list<non-empty-string> / PolicyTreeHerhangi bir ilke işleme hatasında PathValidationException (hataya karşı kapalı)Tamamlama, anyPolicy hariç, hayatta kalan ilke OID’lerini döndürür
PolicyTreeattach(PolicyTreeNode $node, PathValidationOptions $options), enforceFanout(...), remove(...), artı okuma sorgularıDerinlik indeksli valid_policy_tree durumuYönteme göre değişirCanlı yaprak sayısı yayılım üst sınırını aştığında PathValidationExceptionANY_POLICY_OID’yi (2.5.29.32.0) sunar
NameConstraintsChecker::processCertificatestring $certDer, bool $applyNameCheckRFC 5280 §6.1.4(g) uyarınca izin verilen / hariç tutulan alt ağaçları biriktirir ve uygularvoidİhlal edilen bir alt ağaçta, bir kısıtlamada desteklenmeyen bir GeneralName biçiminde veya ihlal edilen bir üst sınırda PathValidationExceptionKarşılaştırılamayan adlar hataya karşı kapalı işlenir
TrustAnchorStoreInterface::containsFingerprintstring $anchorDerSha256HexÇıpanın DER sertifikası üzerinde küçük harfli onaltılık SHA-256 ile üyelikboolFırlatmazYol doğrulayıcı tarafından danışılan güven dikişi
BatchSignatureValidator::validatearray $inputs (list<DocumentSignatureInput>)Toplu başına iptal önbelleğe alma ile çok belgeli imza doğrulamasıBatchValidationReportBoş bir listede InvalidArgumentException; bir kaynak koruması 1000 belgenin üzerindeki toplu işleri reddederNextPDF\Enterprise\Signature içinde yer alır
final class AdESValidationEngine
public function validateBasic(string $signedData, string $signature): ValidationReport
public function validateWithTime(
string $signedData,
string $signature,
DateTimeImmutable $claimedTime,
): ValidationReport
public function validateWithLongTermData(
string $signedData,
string $signature,
array $dssData,
): ValidationReport
public function validateArchivalTimestampChain(
string $pdfBytes,
array $dssData = [],
?TrustAnchorStoreInterface $anchors = null,
): ValidationReport
public function validate(
array $chain,
?DateTimeImmutable $validationTime = null,
array $initialPolicies = [],
): PathValidationResult;
public function validateWithAiaChasing(
array $chain,
?DateTimeImmutable $validationTime = null,
): PathValidationResult;
public static function withDefaults(
?ClockInterface $clock = null,
?AiaChaser $aiaChaser = null,
?LoggerInterface $logger = null,
): self
public function containsFingerprint(string $anchorDerSha256Hex): bool;
public function extract(string $signedData, string $signature): ExtractedSignatureData;
public function scan(string $pdfBytes): array
public function validate(array $inputs): BatchValidationReport

Gösterge enum’ları. MainIndication durumları: TOTAL_PASSED, TOTAL_FAILED, INDETERMINATE. Destekleyici değerler urn:etsi:019102:mainindication:total-passed desenini izler (küçük harfli, tireli). SubIndication durumları: HASH_FAILURE, SIG_CRYPTO_FAILURE, REVOKED, EXPIRED, NOT_YET_VALID, NO_POE, TRY_LATER, CERTIFICATE_CHAIN_GENERAL_FAILURE, FORMAT_FAILURE, REVOKED_CA_NO_POE, CRYPTO_CONSTRAINTS_FAILURE, POLICY_PROCESSING_FAILURE, REVOCATION_OUT_OF_BOUNDS_NO_POE, NO_SIGNING_CERTIFICATE_FOUND, TIMESTAMP_ORDER_FAILURE. Her biri, tam durum adıyla urn:etsi:019102:subindication:<CASE_NAME> ile desteklenir.

  • Raporlar girer, raporlar çıkar. Dört motor giriş noktası, düşmanca girdi için fırlatmak yerine bir ValidationReport döndürür. Yakalanan bir SignatureExtractionException, koruma yoluna yönlendirilir; yakalanan bir PathValidationException, TOTAL_FAILED / CERTIFICATE_CHAIN_GENERAL_FAILURE’e eşlenir.
  • Temel doğrulama sırası. Önce format kontrolü; ayrıştırılamayan bir yapı TOTAL_FAILED / FORMAT_FAILURE’dir (EN 319 102-1 §5.3.4). Ardından özet (HASH_FAILURE) ve kriptografik doğrulama (SIG_CRYPTO_FAILURE), EN 319 102-1 §5.2.7.4 yapı taşı sonuçlarıyla eşleşir. Özet, doğrulayıcı tarafından yeniden hesaplanır ve messageDigest imzalı özniteliğiyle karşılaştırılır (RFC 5652 §5.6); üretici tarafından sağlanan özetlere asla güvenilmez.
  • Zayıf algoritmalar düşürür. SHA-1 altında veya zayıf bir imzalama sertifikası bağlamasıyla doğrulanan bir imza, asla TOTAL_PASSED değil, INDETERMINATE / CRYPTO_CONSTRAINTS_FAILURE döndürür. Zaman yolu bunu yeniden ileri sürer, böylece zayıf bir imza asla zaman-geçerli bir geçişe dönüştürülmez.
  • İptal kaynağı kapısı. Çıkarıcı iptal bayrakları, yalnızca çıkarıcı gerçekten bir iptal kontrolü gerçekleştirdiğinde (revocationChecked true) danışılır. Kontrol edilmemiş bir varsayılan, ne “iptal edilmediği doğrulandı” ne de bir REVOKED tetikleyicisidir. İptal kanıtı DSS yolu tarafından oluşturulur.
  • Geçişsiz yayılım. Zaman ve uzun vadeli yollar, geçişsiz bir temel sonucu asla yükseltmez. Bir istisna vardır: temel bir INDETERMINATE / REVOKED, $claimedTime’a karşı çözümlenir; iddia edilen zamanda veya öncesinde iptal TOTAL_FAILED / REVOKED’dur. Bu, bir iptal ilişkili belirsizliği zaman kanıtıyla çözme EN 319 102-1 §5.3.4 desenini yansıtır. Karşılaştırma yapılamadığında, çözümlenmemiş temel rapor olduğu gibi yayılır.
  • Sıkı imza zaman damgası bağlaması (hataya karşı kapalı; BC kırılması). CMS bir id-aa-timeStampToken imzasız özniteliği taşıdığında, varlığı hem zaman hem de uzun vadeli yollarda uygulamayı tetikler; yalnızca uyarı modu yoktur. Kardinalite, tam olarak bir değere sahip tam olarak bir öznitelik olmalıdır (EN 319 122-1 §5.3); başka herhangi bir şekil TOTAL_FAILED / FORMAT_FAILURE’dir. Belirteç, uçtan uca kriptografik olarak doğrulanmalıdır; doğrulanamayan bir belirteç, bir ayrıştırıcı-diferansiyel çakışması veya bir imprint uyumsuzluğu INDETERMINATE / TIMESTAMP_ORDER_FAILURE’dir. Desteklenmeyen veya SHA-1 imprint algoritması INDETERMINATE / CRYPTO_CONSTRAINTS_FAILURE’dir. Bağlama kuralı RFC 3161 Appendix A’dır: belirtecin messageImprint’i, sabit zamanda karşılaştırılan SignerInfo signature değer sekizlilerinin hash’ine eşit olmalıdır.
  • Uzun vadeli yol kapıları. 5.4 maddesiyle açıklanmış yolda bağlı imza zaman damgası ayrıca belirtecin genTime’ında TSA sertifikası değerlendirmesi alır; güvenilmez bir çıpa asla bir geçiş değil, INDETERMINATE / CERTIFICATE_CHAIN_GENERAL_FAILURE’dir. Yetersiz gömülü DSS malzemesiyle NetworkPolicy::STRICT_OFFLINE, INDETERMINATE / TRY_LATER döndürür. Varlık kanıtı, DSS iptali ve arşiv zinciri bulguları, her biri eşlenmiş bir alt göstergeyle INDETERMINATE’e kısa devre yapar.
  • Arşiv zinciri kapıları. DocTimeStamp bulunmaması INDETERMINATE / NO_POE’dir. Yapısal olarak uyumsuz bir ByteRange TOTAL_FAILED / FORMAT_FAILURE’dir. Her belirteç doğrulanmalı, imprint’ini tam ByteRange kapsamlı baytlara bağlamalı ve genTime’da TSA facet eşlemesini geçmelidir (EXPIRED, NOT_YET_VALID, REVOKED_CA_NO_POE, CERTIFICATE_CHAIN_GENERAL_FAILURE veya strict-offline altında TRY_LATER). Sıralama uygulanır: azalmayan genTime, kesinlikle ilerleyen kapsam ve önceki belirtecin /Contents deliğini içeren sonraki belirteçler. En son belirteç, son baytı kapsamalıdır; sonundaki baytlar TIMESTAMP_ORDER_FAILURE’dir. Doğrulayıcı saatinin 300 saniyeden fazla önünde olan bir genTime, TIMESTAMP_ORDER_FAILURE’dir.
  • Tanılamalar asla karar vermez. DiagnosticData::$timestamps varlık kanıtı girişleri yalnızca denetim izidir. Asla bir göstergeyi değiştirmezler ve biriktirici her giriş noktasında sıfırlanır.
  • Pki sınırları kriptodan önce gelir. PathValidationOptions üst sınırları (derinlik 32, ilke yayılımı 64, getirme başına 5 sn ve 10 MiB) pahalı işlerden önce kontrol edilir. PathValidationResult::$trustAnchorTrusted, $valid’ten ayrıdır; requireTrustedAnchor, onaylanmamış bir sonlanmayı geçersiz kılar. strict(), requireExplicitPolicy, sıkı-başarısız iptal aktarımı ve requireTrustedAnchor’ı etkinleştirir. Yol geçerliliği RFC 5280 §6.1 uyarınca çıpa-göreceli: geçerli bir yol, girdi olarak sağlanan bir güven çıpasında başlar.
  • Toplu yüzey. BatchSignatureValidator::validate(), boş bir liste için InvalidArgumentException fırlatır ve bir kaynak koruması aracılığıyla 1000 belgenin üzerindeki toplu işleri reddeder. Bu ardışık düzende tüm kriptografik doğrulamanın sahibi PHP’dir.
  • Varsayılan motorun çıkarıcısı yoktur. new AdESValidationEngine() yalnızca koruma kontrolleri gerçekleştirir: boş imza veya imzalı veri TOTAL_FAILED’dir; boş olmayan herhangi bir çift, asla TOTAL_PASSED değil, INDETERMINATE / NO_SIGNING_CERTIFICATE_FOUND’a çözümlenir. Kriptografik doğrulama elde etmek için NextPDF\Enterprise\Security\Validation\CmsSignatureDataExtractor enjekte edin.
  • Varsayılan TSA güven kontrolünün deposu yoktur. Her TSA zinciri o zaman güvenilmez olarak raporlar, bu nedenle arşiv ve uzun vadeli imza zaman damgası sonuçları INDETERMINATE olarak kalır. Çıpaları validateArchivalTimestampChain(..., $anchors) aracılığıyla veya yapılandırılmış bir TsaCertificateAtGenTimeCheck ile sağlayın.
  • Boş $pdfBytes. validateArchivalTimestampChain(''), TOTAL_FAILED / FORMAT_FAILURE döndürür.
  • Düzeltme öncesi imza zaman damgaları geçemez. Sıkı bağlama düzeltmesinden önceki NextPDF sürümleri tarafından üretilen belirteçler farklı bir girdiyi imprint etti. Appendix A bağlamasını kalıcı olarak geçemezler; olumlu bir sonucu geri yüklemek için yeniden imzalayın ve yeniden zaman damgası uygulayın. Bu, kasıtlı, belgelenmiş bir BC kırılmasıdır.
  • Yinelenen veya çakışan DocTimeStamp’ler. Aynı revizyonlu bir kopya, eşit veya çakışan kapsam ya da önceki belirtecin imza deliğini içermeyen sonraki bir belirteç, sıralama kapısını geçemez.
  • Tarayıcı toplam ve bayt düzeyindedir. scan(), hatalı biçimlendirilmiş veya sahte adayları sessizce atlar; bir içerik akışı içindeki bir sahte /ByteRange reddedilir. Dolaylı nesneleri çözümlemez veya çapraz referans tablosunu dolaşmaz.
  • Kapsam, erişilebilirlik değil. validateArchivalTimestampChain(), dosya sonuna kadar kriptografik bayt aralığı kapsamını kanıtlar. Nesne düzeyinde erişilebilirlik analizi (örneğin, kapsanan bir revizyon içindeki yeniden yönlendirilmiş bir belge kökü) kapsam dışı olarak bildirilir.
  • Doğrudan Pki kullanımı fırlatır. PathValidatorInterface uygulamalarını doğrudan çağırmak, yapısal olarak geçersiz zincirler, ihlal edilen üst sınırlar, desteklenmeyen kısıtlama biçimleri ve bir OpenSSLCertificate tanıtıcısının başarısız PEM aktarımı için PathValidationException’ı yüzeye çıkarır. Motor bu sınıfı yakalar; kendi çağıranlarınız bunu işlemelidir.

Doğrulama tarafı, SHA-2 ile RSA PKCS#1 v1.5 ve P-256/P-384/P-521 üzerinde ECDSA’yı kabul eder. RSASSA-PSS, EdDSA ve SHA-3 belirteçleri desteklenmeyen olarak hataya karşı kapalı başarısız olur; SHA-1, CRYPTO_CONSTRAINTS_FAILURE’e düşer. Enterprise FIPS 140-3 kripto ilkesi profili altında (güvenlik modülüyle belgelenir), kısıtlama hangi algoritmaların kabul edildiğine uygulanır; doğrulama akışının kendisi — özet yeniden hesaplama, imza kontrolleri, bağlama, yol doğrulama — değişmez. NextPDF hiçbir FIPS 140-3 sertifikasına sahip değildir ve bu sayfa hiçbir sertifika iddia etmez.

İddiaStandartMadde
Temel İmza doğrulaması, zaman damgası ve zamanlı doğrulama için yeniden kullanılabilir bir yapı taşıdır.ETSI EN 319 102-1§5.3.1
Bütünlük hatası HASH_FAILURE’e eşlenir; başarısız bir imza kontrolü SIG_CRYPTO_FAILURE’e eşlenir.ETSI EN 319 102-1§5.2.7.4
Format kontrolü önce çalışır ve bir geçişsizlik süreci durdurur.ETSI EN 319 102-1§5.3.4
İptal ilişkili bir belirsizlik, zaman kanıtıyla çözümlenebilir.ETSI EN 319 102-1§5.3.4
Geçerli bir sertifikasyon yolu, girdi olarak sağlanan bir güven çıpasında başlar.RFC 5280§6.1
Doğrulayıcı içerik özetini yeniden hesaplar; messageDigest imzalı özniteliğine eşit olmalıdır.RFC 5652§5.6
İmza zaman damgasının messageImprint’i, SignerInfo signature alan değerini hash’ler.RFC 3161Appendix A
signature-time-stamp özniteliği tam olarak bir AttributeValue taşır.ETSI EN 319 122-1§5.3

Tüm maddeler başka sözcüklerle ifade edilmiştir; NextPDF normatif metni çoğaltmaz. NextPDF hiçbir AdES / PAdES uygunluk veya sertifikasyon iddiasında bulunmaz. Bir standardı desteklemek ona uygunluk değildir ve uygunluk sertifikasyon değildir — NextPDF hiçbir sertifikasyona sahip değildir ve hiçbir sertifikasyon vermez. Motor, alıntılanan doğrulama prosedürlerini bir yetenek olarak uygular; nitelikli veya sertifikalı bir doğrulama hizmeti değildir ve bir TOTAL_PASSED raporu, yasal bir belirleme değil, kriptografik bir ifadedir. Enum değerleri, rapor verilerinin birlikte çalışabilirliği için ETSI URN tanımlayıcı desenini yeniden kullanır; bu yeniden kullanım hiçbir onay ileri sürmez.

  • Madde-etiketi eşlemesi. Paket kaynağı, giriş noktalarını EN 319 102-1 maddeleri 5.2, 5.3 ve 5.4 olarak açıklar. Uygunluk külliyatı, Temel İmza doğrulama sürecinin kendisini 5.3 maddesine, kriptografik yapı taşını ise 5.2.7.4’e yerleştirir. Bu sayfa, alınan madde numaralarını alıntılar; etiket değil, davranış sözleşmesi yetkilidir.
  • Deterministik testler. Her zaman karşılaştırması, enjekte edilen PSR-20 ClockInterface üzerinden akar. Pencere kontrollerini, 300 saniyelik genTime sapma sınırını ve CRL tazelik kararlarını test etmek için dondurulmuş bir saat enjekte edin.
  • Kompozisyon. Tüm motor iş ortakları kurucu-enjekteli ve isteğe bağlıdır, hataya karşı kapalı varsayılanlarla. Varsayılan yol doğrulayıcı, motor saati üzerinde CertificateChainValidator::withDefaults()’tur; varsayılan seçenekler, uyumlu, kısıtlamasız girdiler için ilke ve ad kısıtlaması işlemeyi bir no-op olarak tutar.
  • Ad alanları. Motor yüzeyi NextPDF\Enterprise\Security\Validation içinde, yol doğrulama yüzeyi NextPDF\Enterprise\Security\Pki içinde ve toplu düzenleyici NextPDF\Enterprise\Signature içinde yer alır.
  • Rapor hijyeni. Raporlar değişmezdir ve toArray() aracılığıyla serileştirilebilir. Tanılama bağlamı her giriş noktasında sıfırlanır, bu nedenle bir rapor asla aynı motor örneğindeki önceki bir çalıştırmadan kanıt taşımaz.

Bu sayfa, yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. Dahili ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, çalışma kılavuzu dosya adları ve bilet önekleri kapsam dışıdır.