Enterprise sürüm
İmza doğrulama — Derinlemesine başvuru
Bir bakışta
“Bir bakışta” başlıklı bölümBu 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ı.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu 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.
Genel API yüzeyi
“Genel API yüzeyi” başlıklı bölüm| Sembol | Parametreler | Varsayılan davranış | Döndürür | Fırlatır veya şununla başarısız olur | Notlar |
|---|---|---|---|---|---|
AdESValidationEngine::__construct | 11 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 yok | Yeni motor | Fırlatmaz | Güven deposu olmadığında TSA zinciri değerlendirmesi güvenilmez olarak raporlar; bu INDETERMINATE’e eşlenir, asla bir geçiş değil |
AdESValidationEngine::validateBasic | string $signedData, string $signature | Temel doğrulama: format, özet, kripto, zayıf algoritma, zincir, kaynak-korumalı iptal | ValidationReport | Fırlatmaz; çıkarma ve yol hataları hataya karşı kapalı raporlara eşlenir | Çıkarıcı olmadan yalnızca koruma kontrolleri; bkz. uç durumlar |
AdESValidationEngine::validateWithTime | string $signedData, string $signature, DateTimeImmutable $claimedTime | Önce temel doğrulama; sertifika penceresi ve iptal, iddia edilen zamana göre karşılaştırılır | ValidationReport | Fırlatmaz | Öznitelik mevcut olduğunda sıkı imza zaman damgası kapısı; $claimedTime zaman çıpası olarak kalır |
AdESValidationEngine::validateWithLongTermData | string $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ı | ValidationReport | Fırlatmaz | Yetersiz gömülü veriyle NetworkPolicy::STRICT_OFFLINE, INDETERMINATE / TRY_LATER verir |
AdESValidationEngine::validateArchivalTimestampChain | string $pdfBytes, array $dssData = [], ?TrustAnchorStoreInterface $anchors = null | Tam ByteRange baytları üzerinde kanıta dayalı DocTimeStamp kapsam zinciri | ValidationReport | Düşmanca baytlarda fırlatmaz | TOTAL_PASSED yalnızca güvenilir, EOF kapsayan bir zincir için |
MainIndication | — | Dize destekli enum, üç durum | — | — | ETSI URN değerleri; aşağıdaki durum listesine bakın |
SubIndication | — | Dize destekli enum, on beş durum | — | — | ETSI URN değerleri; aşağıdaki durum listesine bakın |
ValidationReport::__construct | MainIndication $mainIndication, ?SubIndication $subIndication, DiagnosticData $diagnosticData, DateTimeImmutable $validationTime, string $validationPolicy = '' | Değişmez (final readonly) doğrulama sonucu | Yeni rapor | Fırlatmaz | isPassed(), isFailed(), isIndeterminate(), toArray() |
DiagnosticData::__construct | array $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 izi | Yeni değer | Fırlatmaz | toArray() raporlama için referansları serileştirir |
SignatureDataExtractor::extract | string $signedData, string $signature | SPI: CMS’i ayrıştırın ve doğrulama bileşenlerini çıkarın | ExtractedSignatureData | İmza ayrıştırılamadığında SignatureExtractionException | Arayüz; ASN.1 ayrıştırmayı motordan ayırır |
CmsSignatureDataExtractor::extract | string $signedData, string $signature | Ayrı bir PAdES temel imzasını çıkarır ve ayrıca kriptografik olarak doğrular | ExtractedSignatureData | Yalnızca CMS hiç ayrıştırılamadığında SignatureExtractionException | Kripto veya bağlama hatası, cryptoValid / hashValid false olan veri döndürür; bunun için asla fırlatmaz |
PdfSignatureDictionaryScanner::scan | string $pdfBytes | Tam-oturur sahtekarlık önleyici çapraz kontrollerle /ByteRange + /Contents sözlükleri için bayt düzeyi tarama | list<PdfSignatureOccurrence> | Toplam; asla fırlatmaz; hatalı biçimlendirilmiş adaylar atlanır | Kapsam sonuna göre sıralı, en erken önce |
PathValidatorInterface::validate | array $chain, ?DateTimeImmutable $validationTime = null, array $initialPolicies = [] | İlke işlemeli RFC 5280 §6.1.4 yol doğrulaması | PathValidationResult | Yapısal olarak geçersiz bir zincirde veya ihlal edilen düşmanca bir sınırda PathValidationException | Zincir, önce son varlık, en son çıpa |
PathValidatorInterface::validateWithAiaChasing | array $chain, ?DateTimeImmutable $validationTime = null | Eksik ara sertifikaların AIA çözümlemesi, ardından doğrulama | PathValidationResult | PathValidationException | Getirmeler, zaman aşımı ve bayt sınırlarıyla sınırlandırılır |
CertificateChainValidator | Kurucu: motor, PathValidationOptions, saat, günlükleyici; statik withDefaults() | Varsayılan düşmanca üst sınırlarla SPI uygulaması | Her iki yöntemden de PathValidationResult | PathValidationException | Ayrı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 $requireTrustedAnchor | Derinlik 32, yayılım 64, getirme başına 5 sn, getirme başına 10 MiB; tüm bayraklar false | Yeni seçenekler | Fırlatmaz | Fabrikalar: defaults(), strict(), withTrustAnchors() |
PathValidationResult::__construct | bool $valid, string $trustAnchorFingerprint, DateTimeImmutable $validatedAt, array $validPolicies, ?RevocationCheckResult $revocation, bool $trustAnchorTrusted, array $fetchedCertificates, array $failureReasons | Değişmez sonuç; trustAnchorTrusted varsayılan olarak false (hataya karşı kapalı) | Yeni değer | Fırlatmaz | Güven üyeliği, yapısal geçerlilikten ayrıdır |
PolicyProcessor | Kurucu: 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 tamamlama | void / list<non-empty-string> / PolicyTree | Herhangi bir ilke işleme hatasında PathValidationException (hataya karşı kapalı) | Tamamlama, anyPolicy hariç, hayatta kalan ilke OID’lerini döndürür |
PolicyTree | attach(PolicyTreeNode $node, PathValidationOptions $options), enforceFanout(...), remove(...), artı okuma sorguları | Derinlik indeksli valid_policy_tree durumu | Yönteme göre değişir | Canlı yaprak sayısı yayılım üst sınırını aştığında PathValidationException | ANY_POLICY_OID’yi (2.5.29.32.0) sunar |
NameConstraintsChecker::processCertificate | string $certDer, bool $applyNameCheck | RFC 5280 §6.1.4(g) uyarınca izin verilen / hariç tutulan alt ağaçları biriktirir ve uygular | void | İhlal edilen bir alt ağaçta, bir kısıtlamada desteklenmeyen bir GeneralName biçiminde veya ihlal edilen bir üst sınırda PathValidationException | Karşılaştırılamayan adlar hataya karşı kapalı işlenir |
TrustAnchorStoreInterface::containsFingerprint | string $anchorDerSha256Hex | Çıpanın DER sertifikası üzerinde küçük harfli onaltılık SHA-256 ile üyelik | bool | Fırlatmaz | Yol doğrulayıcı tarafından danışılan güven dikişi |
BatchSignatureValidator::validate | array $inputs (list<DocumentSignatureInput>) | Toplu başına iptal önbelleğe alma ile çok belgeli imza doğrulaması | BatchValidationReport | Boş bir listede InvalidArgumentException; bir kaynak koruması 1000 belgenin üzerindeki toplu işleri reddeder | NextPDF\Enterprise\Signature içinde yer alır |
final class AdESValidationEnginepublic function validateBasic(string $signedData, string $signature): ValidationReportpublic function validateWithTime( string $signedData, string $signature, DateTimeImmutable $claimedTime,): ValidationReportpublic function validateWithLongTermData( string $signedData, string $signature, array $dssData,): ValidationReportpublic function validateArchivalTimestampChain( string $pdfBytes, array $dssData = [], ?TrustAnchorStoreInterface $anchors = null,): ValidationReportpublic 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,): selfpublic function containsFingerprint(string $anchorDerSha256Hex): bool;public function extract(string $signedData, string $signature): ExtractedSignatureData;public function scan(string $pdfBytes): arraypublic function validate(array $inputs): BatchValidationReportGö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.
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölüm- Raporlar girer, raporlar çıkar. Dört motor giriş noktası, düşmanca girdi için fırlatmak yerine bir
ValidationReportdöndürür. Yakalanan birSignatureExtractionException, koruma yoluna yönlendirilir; yakalanan birPathValidationException,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 vemessageDigestimzalı ö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_PASSEDdeğil,INDETERMINATE/CRYPTO_CONSTRAINTS_FAILUREdö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 (
revocationCheckedtrue) danışılır. Kontrol edilmemiş bir varsayılan, ne “iptal edilmediği doğrulandı” ne de birREVOKEDtetikleyicisidir. İ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 iptalTOTAL_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-timeStampTokenimzası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 şekilTOTAL_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ğuINDETERMINATE/TIMESTAMP_ORDER_FAILURE’dir. Desteklenmeyen veya SHA-1 imprint algoritmasıINDETERMINATE/CRYPTO_CONSTRAINTS_FAILURE’dir. Bağlama kuralı RFC 3161 Appendix A’dır: belirtecinmessageImprint’i, sabit zamanda karşılaştırılan SignerInfosignaturedeğ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 malzemesiyleNetworkPolicy::STRICT_OFFLINE,INDETERMINATE/TRY_LATERdöndürür. Varlık kanıtı, DSS iptali ve arşiv zinciri bulguları, her biri eşlenmiş bir alt göstergeyleINDETERMINATE’e kısa devre yapar. - Arşiv zinciri kapıları. DocTimeStamp bulunmaması
INDETERMINATE/NO_POE’dir. Yapısal olarak uyumsuz bir ByteRangeTOTAL_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_FAILUREveya strict-offline altındaTRY_LATER). Sıralama uygulanır: azalmayangenTime, kesinlikle ilerleyen kapsam ve önceki belirtecin/Contentsdeliğini içeren sonraki belirteçler. En son belirteç, son baytı kapsamalıdır; sonundaki baytlarTIMESTAMP_ORDER_FAILURE’dir. Doğrulayıcı saatinin 300 saniyeden fazla önünde olan birgenTime,TIMESTAMP_ORDER_FAILURE’dir. - Tanılamalar asla karar vermez.
DiagnosticData::$timestampsvarlı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ı verequireTrustedAnchor’ı 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çinInvalidArgumentExceptionfı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.
Uç durumlar ve hata modları
“Uç durumlar ve hata modları” başlıklı bölüm- Varsayılan motorun çıkarıcısı yoktur.
new AdESValidationEngine()yalnızca koruma kontrolleri gerçekleştirir: boş imza veya imzalı veriTOTAL_FAILED’dir; boş olmayan herhangi bir çift, aslaTOTAL_PASSEDdeğil,INDETERMINATE/NO_SIGNING_CERTIFICATE_FOUND’a çözümlenir. Kriptografik doğrulama elde etmek içinNextPDF\Enterprise\Security\Validation\CmsSignatureDataExtractorenjekte 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ı
INDETERMINATEolarak kalır. ÇıpalarıvalidateArchivalTimestampChain(..., $anchors)aracılığıyla veya yapılandırılmış birTsaCertificateAtGenTimeCheckile sağlayın. - Boş
$pdfBytes.validateArchivalTimestampChain(''),TOTAL_FAILED/FORMAT_FAILUREdö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/ByteRangereddedilir. 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.
PathValidatorInterfaceuygulamalarını doğrudan çağırmak, yapısal olarak geçersiz zincirler, ihlal edilen üst sınırlar, desteklenmeyen kısıtlama biçimleri ve birOpenSSLCertificatetanıtıcısının başarısız PEM aktarımı içinPathValidationException’ı yüzeye çıkarır. Motor bu sınıfı yakalar; kendi çağıranlarınız bunu işlemelidir.
FIPS modu davranışı
“FIPS modu davranışı” başlıklı bölümDoğ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.
Uygunluk
“Uygunluk” başlıklı bölüm| İddia | Standart | Madde |
|---|---|---|
| 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 3161 | Appendix 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.
Geliştirme notları
“Geliştirme notları” başlıklı bölüm- 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\Validationiçinde, yol doğrulama yüzeyiNextPDF\Enterprise\Security\Pkiiçinde ve toplu düzenleyiciNextPDF\Enterprise\Signatureiç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.
Ayrıca bakınız
“Ayrıca bakınız” başlıklı bölüm- İmza doğrulama: AdES / PAdES kriptografik doğrulama tarafı — yetenek sayfası: iş akışı, algoritma tablosu, yükseltme notları.
- İmza — Derinlemesine referans — PAdES B-LT / B-LTA üretici tarafı.
- Doğrulama — Derinlemesine referans — kriptografi olmadan yapısal ilke kontrolleri.
- Güvenlik — Derinlemesine referans — FIPS profili dahil olmak üzere birleşik Enterprise güvenlik yüzeyi.
- PAdES temel eşlemesi — sürümler genelinde B-B, B-T, B-LT, B-LTA.
Yayın sınırı
“Yayın sınırı” başlıklı bölümBu 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.