İçeriğe geç
getnextpdf.com

Enterprise sürüm

Contracts — Derinlemesine başvuru

Contracts modülü, RFC 3161 Zaman Damgası Yetkilisi (TSA) istemcileri için Enterprise tümleştirme dikişidir.

  • TsaClientInterface, tek bir işlem bildirir: önceden hesaplanmış bir belge özeti için DER kodlamalı bir TimeStampToken isteme.
  • TsaClientAdapter, Core zaman damgası istemcisini — bir final sınıf — davranışını değiştirmeden o arabirime köprüler.
  • LtvManager ve DocumentTimestamp gibi Enterprise bileşenleri arabirimi kabul eder, böylece TSA davranışı testlerde enjekte edilebilir ve yerine konabilir olur.
  • Dikişten yalnızca bir belge karması geçer; belge içeriği asla geçmez.

İş akışı rehberliği için önce Contracts yetenek sayfasını okuyun.

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

Arabirim hiçbir iş yapmaz ve tek başına hiçbir şeyi kapılamaz. Kullanan Enterprise yüzeyleri, uygunluk kanıtı yüzeyindeki enterprise.compliance.evidence gibi kendi yetenek kodlarını uygular.

KatmanSağladıkları
CoreRFC 3161 istekleri gerçekleştiren somut TsaClient (final)
ProContracts modülü eşdeğeri yok
EnterpriseTsaClientInterface dikişi ve TsaClientAdapter köprüsü
Terminal window
composer require nextpdf/enterprise:^3
SimgeParametrelerVarsayılan davranışDöndürürFırlatır veya şununla başarısız olurNotlar
TsaClientInterface::getDocumentTimestamp()string $documentHashÖnceden hesaplanmış bir belge özeti için bir zaman damgası jetonu isteği bildirirstring — DER kodlamalı TimeStampTokenUygulamaya bağlı; arabirim hiçbir istisna bildirmezTek işlem; kaynak, bir SHA-256 özeti girişini belgeler
TsaClientAdapter::__construct()TsaClient $clientCore zaman damgası istemcisini saklarTsaClientAdapterBildirilen bir şey yokfinal readonly; kurucu terfisi
TsaClientAdapter::getDocumentTimestamp()string $documentHashTsaClient::getDocumentTimestamp() çağrısına değiştirmeden iletirstring — DER kodlamalı TimeStampTokenCore istemcisinden gelen TsaException, değiştirmeden iletilirHiçbir davranış eklemez; hiçbir şeyi yutmaz
namespace NextPDF\Enterprise\Contracts;
interface TsaClientInterface
{
/**
* Request a timestamp token for a document hash.
*
* @param string $documentHash SHA-256 digest of the document content
*
* @return string DER-encoded TimeStampToken
*/
public function getDocumentTimestamp(string $documentHash): string;
}
namespace NextPDF\Enterprise\Contracts;
use NextPDF\Security\Timestamp\TsaClient;
final readonly class TsaClientAdapter implements TsaClientInterface
{
public function __construct(
private TsaClient $client,
)
public function getDocumentTimestamp(string $documentHash): string
}

TsaClientInterface::getDocumentTimestamp(string $documentHash): string, bir belge karması için DER kodlamalı bir RFC 3161 TimeStampToken döndürür. Dışarıdan gözlemlenebilen kurallar:

  • Arabirim tek bir işlem bildirir; jetonu doğrulamaz, TSA için kefil olmaz veya hukuki geçerlilik öne sürmez.
  • TsaClientAdapter, çağrıyı Core zaman damgası istemcisine değiştirmeden iletir — eklenen davranış yok, eklenen yeniden deneme yok, yutulan istisna yok, ek garanti yok. Tek amacı, bir final Core istemcisinin bağımlılık tersine çevirme ve test için Enterprise’a dönük bir arabirimi karşılamasına olanak tanımaktır.
  • Sınırdan yalnızca bir belge karması geçer; hiçbir belge içeriği aktarılmaz.
  • Bağdaştırıcının arkasında Core istemcisi, uzunluğu yapılandırılmış imprint algoritmasıyla eşleşmeyen bir özeti, herhangi bir ağ etkinliğinden önce fail-closed biçimde TsaException ile reddeder. Yanlış etiketlenmiş bir imprint, aksi takdirde hiçbir uyumlu doğrulayıcının bağlayamayacağı bir jeton üretirdi.
  • Kullanan yüzeyler: LtvManager, isteğe bağlı bir TsaClientInterface kabul eder ve PAdES B-LTA için bir tanesini gerektirir. DocumentTimestamp, bir /DocTimeStamp imza sözlüğünün /Contents alanını doldurmak için sözleşmeyi kullanır. LTV arşivi yenileme yürütücüsü (LtvaRenewalExecutor), belge zaman damgalarını yenilerken Core istemcisinin çevresine bir TsaClientAdapter bağlar.
  • Bağdaştırıcı, alttaki istemciden gelen istisnaları değiştirmeden iletir; TSA arızaları çağrı noktasında ele alınmalıdır.
  • Özet, somut istemcinin yapılandırılmış imprint algoritması altında ham ikili olmalıdır (varsayılan SHA-256, 32 bayt). Onaltılık kodlanmış bir özet yanlış uzunluğa sahiptir ve herhangi bir istek gönderilmeden önce reddedilir.
  • Döndürülen bir jeton, bir karar değil, baytlardır; gerektiğinde doğrulayın.
  • Özel bir uygulama, kendi arıza yüzeyine sahiptir. Sözleşme yalnızca dönüş şeklini sabitler: DER kodlamalı bir TimeStampToken.

Bu modül hiçbir kriptografik işlem gerçekleştirmez. Algoritma seçimi ve FIPS modu davranışı, somut TSA istemcisi ile Security modülü tarafından yönetilir. FIPS 140 derinlemesine başvurusuna bakın.

DavranışBaşvuru
Zaman damgası jetonu isteği ve bağlamaIETF RFC 3161 §2
Bir TimeStampReq bir MessageImprint taşır: bir karma algoritması tanımlayıcısı ve zaman damgası vurulacak verinin karmasıIETF RFC 3161 §2.4.1
Jetonun messageImprint değeri isteğin değerine eşit olmalı ve karma boyutu tanımlanan algoritmayla eşleşmelidirIETF RFC 3161 §2.4.2

Sözleşme RFC 3161 çevresinde şekillendirilmiştir; gerçek jeton isteği ve herhangi bir doğrulama, somut istemci ile Evidence/Signature yüzeyleri tarafından gerçekleştirilir. Arabirim hiçbir uygunluk veya tasdik iddiasında bulunmaz. NextPDF hiçbir sertifikasyon iddiasında bulunmaz.

  • Her iki tür de @since 3.0.0 taşır; bu başvuru, yüzeyi nextpdf/enterprise 3.1.0 içinde sunulduğu haliyle belgeler.
  • Zaman damgasına ihtiyaç duyan bileşenlerde TsaClientInterface enjekte edin; bileşim kökünde TsaClientAdapter veya özel bir uygulama bağlayın. Birim testlerinde canlı bir TSA yerine bir test taklidi koyun.
  • Bağdaştırıcının arkasındaki somut TSA istemcisine operatör sahiptir: yerleşim, TSA uç noktası güven sınırı ve sertifika zinciri doğrulaması, bu arabirime değil, o istemciye uygulanır.
  • Bu sözleşme yüzeyine hiçbir ihracat denetimi kısıtlaması uygulanmaz. Bir zaman damgası jetonu edinmek, denetim ve uzun süreli doğrulama iş akışlarını destekler; bu bir hukuki tasdik veya sertifikasyon değildir. Bu başvuru bir hukuki görüş değildir.
  • İç mekanizma ayrıntısı, kaynak deposunun iç belgelerinde kalır ve bu kılavuzun kapsamı dışındadır.

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