İçeriğe geç
getnextpdf.com

Pro sürüm

Güvenlik

NextPDF Pro, NextPDF Core’un üzerine bir güvenlik yüzeyi ekler: oluşturma zamanı içerik maskeleme, metin katmanı PII algılama, uzak ve bulut KMS imzalama stratejileri ve çok taraflı sıralı imzalama. NextPDF Core, PAdES B-B ve B-T düzeylerini üretir; Pro aynı düzeyleri üretir ve bu imzalama iş akışlarını bunların üzerine ekler (B-T için, bir B-B imzası artı imza değeri üzerine tek bir RFC 3161 signature-time-stamp). Bu sayfa davranış düzeyindedir. Her parçanın ne yaptığını, ne yapmadığını ve Enterprise sınırının nerede başladığını belirtir.

Bu yetenek NextPDF Pro (nextpdf/pro) içinde sunulur ve bir Pro katmanı lisans zarfıyla etkinleşir. Bu hakka sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve lisans edinin.

Core; yazılım CMS imzalayıcısını, RFC 3161 zaman damgası istemcisini, RFC 5280 yol doğrulamasını ve OCSP ile CRL iptal denetimini sunar. Pro; maskeleme, PII algılama ve uzak/bulut KMS/sıralı imzalama iş akışlarını ekler; bu iş akışları, Core RFC 3161 yığını aracılığıyla aynı Core B-B ve B-T düzeylerini üretir (B-T için, imza değeri üzerine tek bir signature-time-stamp). Etkin bir Pro hakkı olmayan bir dağıtım bu sınıfları yüklemez; Core imzalama sözleşmesi değişmeden çalışmaya devam eder.

Terminal window
composer require nextpdf/pro:^3

Maskeleme motoru, sayfa yazılmadan önce metne sıralı bir kural listesi uygular. Her kural bir düzenli ifadeyi eşleştirir. Bir kural, bir eşleşmeyi üç yoldan biriyle değiştirir: metni içerik akışından kaldıran bir black-box dolgusu, aynı karakter sayısında bir yıldız işareti dizisi veya [REDACTED] gibi sabit bir etiket. Motor, test edildiği gibi black-box modu için alttaki metin nesnelerini kaldırır; her tür hassas içeriğin bulunduğunu öne sürmez. Algılama, yapılandırdığınız kurallara bağlıdır.

PII yüzeyi, bir maskeleme güvencesi değil, bir algılama aracıdır. Metin katmanını ayıklar, ardından e-posta adresleri, telefon numaraları, Amerika Birleşik Devletleri Sosyal Güvenlik numaraları ve kredi kartı numaraları için yerleşik desenler uygular. Metnin maskelenmiş bir görünümünü ve bir eşleşme sayısını döndürür. Sayfa görüntüsündeki işlenmiş gliflerin üzerine yazmaz. Metin katmanı olmayan, taranmış bir sayfa hiçbir eşleşme vermez. Sonucu, eksiksiz kişisel veri kaldırma olarak değil, yapılandırılmış türlerin desen eşleştirmeli algılaması olarak değerlendirin.

İmzalama yüzeyi, Core imzalayıcısının üzerine uzak ve eşzamansız iş akışları ekler. Bir oturum, belge özetini hesaplar, CMS imzalı özniteliklerini oluşturur ve imzalı öznitelik baytlarını bir imzalama stratejisine teslim eder. Bir strateji; bir bulut KMS, ertelenmiş bir harici imzalayan veya mevcut bir CAdES ya da XAdES imzasını sarmalayan bir içe aktarma yolu olabilir. Oturum daha sonra CMS SignedData yapısını oluşturur ve onu DER kodlamalı olarak imza sözlüğündeki Contents girişinde saklar — ISO 32000-2 §12.8.1. SignerInfo, content-type ve message-digest imzalı özniteliklerini taşır; mesaj özeti hesaplama süreci RFC 5652 §5.4’tür. Bir doğrulayıcı, oluşturanın hesapladığı özetlere güvenmemelidir; içerik özetini bağımsız olarak yeniden hesaplar ve onu message-digest özniteliğiyle karşılaştırır; imzanın geçerli olması için karşılaştırma eşleşmelidir — RFC 5652 §5.6 imza doğrulama süreci.

NextPDF Core, PAdES B-B ve B-T düzeylerini üretir; NextPDF Pro aynı düzeyleri üretir ve imzalama iş akışlarını bunların üzerine ekler. B-B için oturum, B-B imzalı öznitelik kümesine sahip bir CMS SignedData oluşturur ve hiçbir zaman damgası uygulamaz. B-T için oturum, imza değeri üzerine bir CMS imzasız özniteliği olarak tam olarak bir RFC 3161 signature-time-stamp ekler: bir signature-time-stamp, bir imzalayan için dijital imza değeri üzerine hesaplanan tek bir zaman damgası belirteci taşıyan imzasız bir özniteliktir — ETSI EN 319 122-1 §5.3 ve onun MessageImprint değeri, id-aa-timeStampToken OID’i ile tanımlanan SignerInfo imza alanı değerinin bir karmasıdır — RFC 3161 Appendix A. Zaman damgası genTime değeri, belirtecin oluşturulduğu UTC anıdır — RFC 3161 §2.4.2. Zaman damgası bir imzasız öznitelik olduğundan, B-B imzalı özeti, SignerInfo imza değeri ve PDF /ByteRange değişmeden kalır; yalnızca CMS büyür. RFC 3161 belirteci, yapılandırılmış bir zaman damgası sağlayıcısından (varsayılan Core RFC 3161 istemcisi veya çağıranın sağladığı bir sağlayıcı) elde edilir; B-T, varsayılan sağlayıcı yolunda bir SHA-256 mesaj imprint’i kullanır. NextPDF Pro, PAdES B-T imzalama desteğini ETSI EN 319 122-1 §5.3, RFC 3161, RFC 5652 ve RFC 5816 uyarınca uygular; bu, fixture doğrulamalıdır. NextPDF Pro, bağımsız bir ETSI EN 319 142-1 sertifikası öne sürmez ve belge hukuki geçerliliğini öne sürmez. B-LT ve B-LTA, uzun vadeli arşivsel doğrulama için bir Document Security Store ve belge zaman damgaları ekler — ETSI EN 319 142-2 §5.5; bu düzeyler bir Enterprise yeteneğidir (nextpdf/enterprise) ve Pro tarafından üretilmez. Aşağıdaki Enterprise sınırı bölümüne bakın.

İmzalama yüzeyi, özel bir anahtar tutmak yerine imzalı öznitelik baytlarını bir SigningStrategy’ye teslim eder. Bu tek karar yük taşıyıcıdır. Bir bulut KMS, ertelenmiş bir harici imzalayan veya bir CAdES/XAdES içe aktarma yolunun tümü aynı sözleşmeyi karşılar; bu nedenle çağıran kod özdeş kalır ve anahtar malzemesi hiçbir zaman NextPDF’e girmez. Oturumu RemoteSigningSession::prepare() ve RemoteSigningSession::complete() olarak bölmek, imzanın eşzamansız olarak dönmesine olanak tanır; çünkü özet, anahtara hiç erişilmeden önce sabitlenir. Zaman damgası bir CMS imzasız özniteliği olarak eklenir; bu nedenle B-T eklemeli kalır: B-B imzalı özeti, SignerInfo imza değeri ve /ByteRange dokunulmadan kalır. Her bağlantı noktası kapalı başarısızdır; çünkü sessizce bozulan bir imzalama yolu, duran birinden daha kötüdür. Tasarım arka planı: Ödün vermeden ölçekte imzalama.

TürÇeşitRolKararlılıkŞu sürümden
RemoteSigningSessionclassİki aşamalı uzak veya eşzamansız imzalama oturumustable1.9.0
RemoteSigningConfigclassPAdES düzeyi dâhil, değişmez oturum yapılandırmasıstable1.9.0
SequentialSignerclassDocMDP destekli çok taraflı sıralı imzalamastable1.9.0
SigningStrategyinterfaceBir oturumun çağırdığı imzalama mekanizması sözleşmesistable1.9.0
PadesWrapperclassMevcut bir CAdES veya XAdES imzasını PAdES gömme için sarmalarstable1.9.0
KmsSignerInterfaceinterface (SPI)Üçüncü taraf HSM ve KMS sürücü sözleşmesistable2.1.0
GenerationTimeMaskerclassSayfa yazılmadan önce uygulanan, kural odaklı maskelemestable1.9.0
MaskingConfig / MaskingRule / MaskingModetypesMaskeleme yapılandırması, kuralı ve değiştirme modustable1.9.0

RemoteSigningConfig, numaralandırması Core SignatureLevel olan bir PAdES düzeyi alanı taşır. Pro imzalama yolu, B-B temel düzeyini ve B-T düzeyini üretir: RemoteSigningConfig::default()->withLevel(SignatureLevel::PAdES_B_T) yapılandırın (veya SequentialSigner::withTimestamping() kullanın) ve bir zaman damgası sağlayıcısı sağlayın; oturum, RFC 3161 signature-time-stamp imzasız özniteliğini ekler. B-T ayrılmış /Contents alanı, belirteç sığacak şekilde otomatik olarak yükseltilir; yetersiz boyutlandırılmış, yapılandırılmış bir alan, kesmek yerine türlenmiş bir yapılandırma hatasıyla kapalı başarısız olur. Yapılandırmada taşınan, B-T üzerinde bir düzey (B-LT veya B-LTA), Pro’nun üzerinde işlem yapmadığı, ileri bildirimli bir değerdir; o uzun vadeli üretici, çalışma zamanında Core sözleşmesi aracılığıyla çözülür ve nextpdf/enterprise paketinde sunulur.

Sign with a cloud-KMS strategy
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Pro\Security\Signing\RemoteSigningSession;
use NextPDF\Pro\Security\Signing\SigningStrategy;
/**
* Produce a signed PDF using any signing strategy.
*
* @param string $pdfWithPlaceholder PDF bytes with a signature placeholder.
* @param SigningStrategy $strategy A cloud-KMS, deferred, or ingest strategy.
*
* @return string The signed PDF bytes.
*/
function signWithStrategy(string $pdfWithPlaceholder, SigningStrategy $strategy): string
{
$session = RemoteSigningSession::create($pdfWithPlaceholder);
$session->prepare(
certDer: $strategy->getCertificateDer(),
chainDer: $strategy->getCertificateChainDer(),
algorithmOid: $strategy->getSignatureAlgorithmOid(),
digestAlgorithm: $strategy->getDigestAlgorithm(),
contentsHexStart: 0,
contentsHexEnd: 0,
);
return $session->complete($strategy);
}

Çağıran, SigningStrategy sözleşmesine bağımlıdır. Bir bulut KMS stratejisi ve bir CAdES içe aktarma stratejisinin ikisi de onu karşılar; bu nedenle bu kod stratejiler arasında değişmez.

Multi-party sequential signing with audit logging
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Pro\Security\Signing\SequentialSigner;
use NextPDF\Pro\Security\Signing\SigningStrategy;
use Psr\Log\LoggerInterface;
final readonly class ApprovalWorkflow
{
public function __construct(private LoggerInterface $logger) {}
/**
* Sign a PDF with two parties in sequence.
*
* @param string $pdfData The PDF bytes to sign.
* @param SigningStrategy $approver The first-party strategy.
* @param SigningStrategy $reviewer The second-party strategy.
*
* @return string The signed PDF bytes.
*/
public function run(string $pdfData, SigningStrategy $approver, SigningStrategy $reviewer): string
{
try {
$result = SequentialSigner::create($pdfData)
->addSigner($approver, 'Approver', reason: 'Approved')
->addSigner($reviewer, 'Reviewer', reason: 'Reviewed')
->sign();
$this->logger->info('Sequential signing complete', [
'signatures' => $result->signatureCount,
]);
return $result->pdfData;
} catch (\Throwable $e) {
$this->logger->error('Sequential signing failed', ['error' => $e->getMessage()]);
throw $e;
}
}
}

Her imzalayan ayrı bir artımlı düzeltmedir. catch bloğu günlüğe alır ve yeniden fırlatır; hatayı yutmaz; bu da imzalama yolunu kapalı başarısız tutar.

  • Üretilen bir imza, doğrulanmış bir imza değildir. Yol doğrulama, doğrulayıcının güven çıpalarıyla doğrulayıcıda çalışır — RFC 5280 §6.1. Üretici sonucu öne süremez.
  • Maskeleme algılaması, yapılandırılmış kurallara bağlıdır. Bir değeri eşleştirmeyen bir kural kümesi onu maskelemez. Motor, tüm hassas içeriğin bulunduğunu öne sürmez.
  • PII algılama yalnızca metin katmanıdır. Metin katmanı olmayan, taranmış bir sayfa hiçbir eşleşme vermez. Araç, işlenmiş sayfa glifinin üzerine yazmaz.
  • CMS yapısı, ayrılmış Contents alanına sığmalıdır. Eksiksiz bir sertifika zincirine sahip B-B SignedData’nın bir boyutu vardır; ayrılmış alanı buna göre boyutlandırın, aksi hâlde oturum bir taşma hatası oluşturur.
  • Bir bulut KMS stratejisi, ağ erişilebilirliğine ve sağlayıcı kullanılabilirliğine bağlıdır. Bir ağ veya sağlayıcı hatası türlenmiş bir istisna oluşturur; oturum, sessizce imzasız bir belge üretmez.
  • OCSP unknown, good değildir. unknown değerini bir karar yokluğu olarak değerlendirin — RFC 6960 §2.2.

Bir yazılım imzası tek haneli milisaniyedir. Bir bulut KMS imzası, sağlayıcıya bir ağ gidiş-dönüşü ekler. Bir B-T imzası, imzalama işleminin üzerine yapılandırılmış zaman damgası sağlayıcısına bir gidiş-dönüş ekler. 1500 ms duvar bütçesi, sıcak bir bağlantıdaki uzak bir sağlayıcıyla tek bir B-B imzasını kapsar. Maskeleme maliyeti, kural sayısı ve metin uzunluğuyla ölçeklenir. Yeniden üretilebilirlik profili structural’dır: B-B imzalı öznitelikleri imzalama anını gömer ve bir B-T imzası ek olarak bir zaman damgası belirteci gömer; bu nedenle iki çalıştırma, imzalı yapı özdeş olsa da imzalama zamanı ve zaman damgası baytlarında farklılık gösterir.

Bu bir kriptografik sınırdır; bu nedenle tehdit modeli açıktır. Bayt aralığı motor tarafından hesaplanır ve hiçbir zaman çağırandan kabul edilmez. İmzalama yolu kapalı başarısızdır: bir ilkel hatası veya bir yetenek boşluğu, türlenmiş bir istisna oluşturur ve hiçbir zaman sessizce daha zayıf bir algoritmaya düşmez. Bir bulut KMS stratejisi bir anahtar deposu değil, bir tümleştirme noktasıdır. Anahtar koruması; anahtar işleme, yapılandırılmış KMS ve dağıtıma bağlıdır; NextPDF Pro, bir KMS stratejisi için özel anahtarı tutmaz. Pro, FIPS doğrulamalı bir KMS veya HSM’ye karşı yapılandırıldığında FIPS uyumlu bir modda çalışır; NextPDF Pro kendisi FIPS doğrulamalı bir kriptografik modül değildir. Bu sayfa kriptografik imzalamayı ilgilendirir; her normatif kaynak başka sözcüklerle anlatılmıştır ve hiçbiri çoğaltılmamıştır.

Maskeleme ve PII yüzeyleri süreç içinde çalışır. Maskeleme veya PII algılama için hiçbir belge içeriği konağı terk etmez. Bir bulut KMS stratejisi, imzalama işlemi için sağlayıcıya belgeyi değil, imzalı öznitelikler özetini gönderir. PII algılama, yapılandırılmış türlerde desen eşleştirir ve test edildiği gibi black-box modu için alttaki metin nesnelerini kaldırır; eksiksiz bir kişisel veri kaldırma güvencesi değildir ve bir mevzuat uyumluluğu bildirimi değildir.

Kitaplık, yapısal mesajlarla türlenmiş istisnalar oluşturur. İstisna mesajlarına veya günlüklere belge içeriği ya da algılanan PII değerleri yazmaz. İmzalama yolunun çevresinde günlük tutan bir dağıtım, belge baytlarını değil, üretim örneğinde gösterilen yapısal alanları günlüğe almalıdır.

Pro, algoritmayı yapılandırılmış imza algoritmasından ve stratejiden seçer. FIPS doğrulamalı bir KMS veya HSM’ye karşı yapılandırıldığında, kriptografik işlem o doğrulanmış sınırda çalışır. NextPDF Pro kendisi yapısal oluşturma ve özet hesaplaması gerçekleştirir; FIPS doğrulamalı bir modül değildir ve hiçbir FIPS sertifikasyon iddiasında bulunmaz.

NextPDF Pro, B-B temel düzeyini ve B-T düzeyini üretir. B-T, bir imzalayan için dijital imza değeri üzerine hesaplanan, imza değeri üzerine bir CMS imzasız özniteliği olarak tek bir RFC 3161 signature-time-stamp ekler — ETSI EN 319 122-1 §5.3. NextPDF Pro bunu ETSI EN 319 122-1 §5.3, RFC 3161, RFC 5652 ve RFC 5816 uyarınca uygular; bu, fixture doğrulamalıdır. NextPDF Pro, bağımsız bir ETSI EN 319 142-1 sertifikası öne sürmez ve belge hukuki geçerliliğini öne sürmez.

B-LT ve B-LTA düzeyleri Enterprise yetenekleridir ve Pro tarafından üretilmez. B-LT ve B-LTA, uzun vadeli arşivsel doğrulama için bir Document Security Store ve belge zaman damgaları ekler — ETSI EN 319 142-2 §5.5. Bir Document Security Store veya uzun vadeli arşivsel döngüyü isteyen bir yapılandırma, o üreticiyi çalışma zamanında Core sözleşmesi aracılığıyla çözer; o üretici nextpdf/enterprise paketinde sunulur. Yalnızca Pro içeren bir dağıtımda, B-LT veya B-LTA istemek, eksik Enterprise bileşenini adlandıran bir mesajla kapalı başarısız olur. Pro hiçbir Document Security Store, hiçbir VRI sözlüğü, hiçbir belge zaman damgası ve hiçbir arşivsel döngü üretmez ve hiçbir uzun vadeli doğrulama (LTV) iddiasında bulunmaz. PKCS#11 aracılığıyla donanım anahtar muhafazası ve FIPS 140-3 kripto-politika profili de Enterprise yetenekleridir.

PAdES düzeyiEklenenlerÜretici sürümü
B-Bİmzalı öznitelikli CMS imzasıCore, Pro, Enterprise
B-Tİmza değeri üzerine tek bir RFC 3161 signature-time-stamp imzasız özniteliğiCore, Pro, Enterprise
B-LTDoğrulama materyalli Document Security StoreEnterprise (nextpdf/enterprise)
B-LTAArşivsel geçerlilik için belge zaman damgalarıEnterprise (nextpdf/enterprise)
  • Maskeleme, yapılandırılmış kuralları sayfa yazılmadan önce uygular ve test edildiği gibi black-box modu için alttaki metin nesnelerini kaldırır.
  • PII algılama, metin katmanını ayıklar, yapılandırılmış desenleri uygular ve maskelenmiş bir görünüm ile bir eşleşme sayısı döndürür. İşlenmiş glifin üzerine yazmaz.
  • Uzak imzalama iki aşamalıdır: prepare özeti hesaplar ve imzalı öznitelikleri oluşturur; complete CMS’yi oluşturur ve onu gömer.
  • Pro, B-B temel düzeyini ve B-T düzeyini üretir. B-T için oturum, imza değeri üzerine bir CMS imzasız özniteliği olarak bir RFC 3161 signature-time-stamp ekler; B-B imzalı özeti ve /ByteRange değişmeden kalır. Bir zaman damgası sağlayıcısı olmadan ya da yetersiz boyutlandırılmış, yapılandırılmış bir Contents alanıyla yapılan bir B-T isteği, türlenmiş bir yapılandırma hatasıyla kapalı başarısız olur. Enterprise paketi olmadan B-LT veya B-LTA isteği, adlandırılmış bir hatayla kapalı başarısız olur.
  • Bir bulut KMS stratejisi, belgeyi değil, imzalı öznitelikler özetini alır ve ham imza baytlarını döndürür.
İddiaStandartKural
CMS imzası, imza sözlüğündeki Contents girişinde DER kodlamalı olarak saklanır.ISO 32000-2§12.8.1
Mesaj özeti hesaplama süreci; imzalı öznitelikler content-type ve message-digest taşır.RFC 5652§5.4
Doğrulayıcı, oluşturanın hesapladığı özetlere güvenmemelidir; bağımsız olarak yeniden hesaplar ve karşılaştırır (imza doğrulama süreci).RFC 5652§5.6
Bir PAdES B-T signature-time-stamp, bir imzalayan için dijital imza değeri üzerine hesaplanan tek bir zaman damgası belirteci taşıyan imzasız bir özniteliktir (Pro, B-T üretir).ETSI EN 319 122-1§5.3
signature-time-stamp id-aa-timeStampToken belirtecinin MessageImprint değeri, SignerInfo imza alanı değerinin bir karmasıdır.RFC 3161Appendix A
Doğrulama tarafında, NextPDF bir signature-time-stamp’in MessageImprint değerini SignerInfo imza değerine bağlar ve bir uyuşmazlık, eksik/yinelenmiş belirteç veya SHA-1 imprint durumunda kapalı başarısız olur (katı doğrulama, bir sertifikasyon değil).RFC 3161Appendix A
Bir B-T zaman damgası belirteci, belirtecin oluşturulduğu an olan bir UTC genTime taşır.RFC 3161§2.4.2
Sertifikasyon yolu doğrulaması, bir güven çıpasına temel kısıtlamaları ve yol girdilerini denetler.RFC 5280§6.1
OCSP, certStatus değerini good, revoked veya unknown olarak bildirir.RFC 6960§2.2
B-LT ve B-LTA, uzun vadeli doğrulama için bir Document Security Store ve belge zaman damgaları ekler (Enterprise sınırı).ETSI EN 319 142-2§5.5

Tüm kurallar başka sözcüklerle anlatılmıştır. NextPDF, normatif metni çoğaltmaz. Yetkili ifade için yayımlanmış standartlara başvurun. NextPDF Pro, PAdES B-T imzalama desteğini ETSI EN 319 122-1 §5.3 (signature-time-stamp), RFC 3161, RFC 5652 ve RFC 5816 uyarınca uygular ve fixture doğrulamalıdır. ETSI EN 319 142-1 (PAdES temel düzeyleri bölümü), atıfta bulunulan kanıt kümesinin dışındadır; bu nedenle NextPDF Pro, bağımsız bir ETSI EN 319 142-1 sertifikası, uygunluğu veya uyumluluğu öne sürmez ve belge hukuki geçerliliğini öne sürmez. Bu sayfa, sertifikalı bir uygunluk düzeyini değil; üretilen yapıyı, B-T desteğinin uyguladığı standartları ve Enterprise B-LT/B-LTA sınırını belirtir.

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