Modern İmza Sağlayıcıları

HPDFSignatureProvider, CMS parsing ve encoding'i private-key saklama ile platform kriptografisinden ayırır

Doğrulama algoritmaları

HPDFVerifyCMSSignatureEx, Ed25519 ve Ed448 pure-mode CMS imzalarını THPDFPlatformSignatureProvider üzerinden veya çağıranın sağladığı bir provider ile doğrular ve kesin imza OID'ini THPDFSignatureInfo.SignatureAlgorithmOID içine kaydeder

CMS parsing, hashing'e veya provider dispatch'e geçmeden önce container digest kümesini, signer digest'ini, imza mekanizması parametrelerini ve opsiyonel RFC 6211 algorithm-protection özniteliğini çapraz kontrol eder; durumlar ve ayrıntılı sorun kodları için CMS digest-algorithm tutarlılığı sayfasına bakın

ML-DSA-44, ML-DSA-65 ve ML-DSA-87, mevcut olduğunda platform provider'ını kullanır; ancak yüklü belge doğrulaması bunları yalnızca Catalog, HotPDF PDF 2.0 developer extension'ını beyan ediyorsa etkinleştirir

İmzalama sağlayıcıları

THotPDF.SignPDFWithPFX ve PFX tabanlı HPDFCMSSignPDFStream overload'ları, eşleşen PKCS#12 identity'sinden RSA, ECDSA, Ed25519 veya Ed448'i çağıranın sağladığı bir signing callback olmadan seçer

ECDSA private scalar'ları Windows CNG üzerinden imzalanır ve katı DER ECDSA değerleri olarak döndürülür; Ed25519 ve Ed448 ise THPDFCMSSignOptions.OpenSSLLibraryPath veya normal kütüphane arama yoluyla seçilen opsiyonel bir OpenSSL 3 libcrypto kullanır

PureEdDSA, önceden hesaplanmış bir attribute digest'i yerine tam DER SET OF signed attributes'u imzalar; Ed25519 bu girdiyi SHA-512 belge digest'leriyle eşleştirir, Ed448 ise 512-bit SHAKE256 çıktısıyla id-shake256-len kullanır

THPDFCMSSignOptions.SignerIdentifier, private-key provider'dan bağımsız olarak issuer-and-serial veya X.509 SubjectKeyIdentifier identity encoding'ini seçer; bkz. CMS SubjectKeyIdentifier signers

THPDFCallbackSignatureProvider uygulama callback'lerini uyarlar; THPDFRemoteSignatureProvider ise uzak bir transport çevresinde sınırlı retry, iptal, girdi ve imza limitleri uygular

THPDFCSCSignatureProvider, uygulamanın sağladığı bir HTTP transport üzerinden CSC API v2 remote signing'i uygular; buna OAuth token yenileme, credential ve certificate-chain keşfi, açık hash-pinned SAD edinimi, sınırlı sıralı multisign batch'leri, senkron veya asenkron signatures/signHash, sınırlı polling, RFC 3161 timestamp'leri, iptal ve content-addressed idempotent replay dahildir

THPDFPKCS11SignatureProvider, RSA ve ECDSA işlemlerini çağıranın sahibi olduğu kimliği doğrulanmış bir PKCS#11 session'ı ve private-key handle'ına göre sıraya koyar; key material'i dışa aktarmadan digest'e özgü RSA PKCS#1 v1.5, RSA-PSS veya raw ECDSA mekanizmalarını seçer

THPDFWindowsKeyStorageSignatureProvider, Microsoft smart-card KSP'sinde veya adı verilen herhangi bir CNG key-storage provider'ında kalıcı anahtarları açar, Impl Type özelliği üzerinden opsiyonel olarak software anahtarları reddeder, sessiz veya etkileşimli erişim politikası uygular ve SHA-2 veya SHA3 digest'lerini RSA PKCS#1 v1.5, RSA-PSS veya ECDSA ile imzalar

CreateFromKeyHandle, mevcut bir NCRYPT_KEY_HANDLE'ı uyarlar ve onu ödünç alabilir ya da sahiplenebilir; smart-card, TPM veya vendor-HSM kimlik doğrulamasını hâlen yöneten uygulamalar lifecycle kontrolünü elinde tutar

HPDFCMSBuildSignedDataWithProvider, THPDFCMSSignOptions.DigestAlgorithm ile seçilen digest'ten detached CMS inşa eder; HPDFCMSSignPDFStreamWithProvider ise sınırlı stream kopyaları, akış hâlinde range hashing ve sabit genişlikli seek yamalarıyla mevcut bir PDF signature placeholder'ını imzalar ve tam ikinci bir PDF'i elde tutmaz

HPDFCMSEstimatePlaceholder, yan etkisiz bir CMS boyutunu açık bir imza uzunluğundan, provider tahmininden veya RSA certificate key boyutundan türetir; ardından tam statik CMS şeklini ve yapılandırılmış dinamik timestamp veya counter-signature rezervlerini hesaba katar

HPDFCMSSignPDFStreamWithProviderAutoSize ve HPDFCMSSignPDFStreamWithExternalSignerAutoSize, imzalamadan önce boyutu yetersiz unsigned placeholder'ları yeniden inşa eder; imza sonrası retry'ler provider capability'si olan spcSafeSignRetry gerektirir ve external signer callback'leri bir imza döndükten sonra asla tekrar çağrılmaz

Boyutlandırma seçenekleri, rebuild sözleşmeleri, retry politikası ve tanılama için CMS placeholder auto-sizing sayfasına bakın

Transport, yetkilendirme, retry, polling ve bütçe sözleşmeleri için CSC remote signature provider sayfasına bakın

Digest politikası, RFC 3161, Seed Value, provider ve streaming sözleşmeleri için SHA3 PDF imzaları ve timestamp'leri sayfasına bakın

Named-curve certificate gereksinimleri, curve'e özgü SHA-2 ve SHA3 matrisi, katı DER encoding ve provider'dan önce başarısız olan producer doğrulaması için Brainpool ECDSA imzaları sayfasına bakın

Provider istek sözleşmesi

THPDFSignatureProviderRequest, imza algoritmasını ve OID'ini, digest OID'ini, message veya digest girdi türünü, PSS salt uzunluğunu, public key veya certificate'ı, key identifier'ı, operation identifier'ı, imzayı ve algorithm context'i taşır

Bir signing provider, boş olmayan bir imzayla spsValid döndürür; verification provider'ları ise spsValid veya spsInvalid kullanır; desteklenmeyen, bozuk, provider hatası ve iptal edilmiş sonuçlar ayrı kalır