Moderne handtekeningproviders
HPDFSignatureProvider scheidt CMS-parsing en -encoding van privésleutelopslag en platformcryptografie
Verification algorithms
HPDFVerifyCMSSignatureEx verifieert pure-mode-CMS-handtekeningen voor Ed25519 en Ed448 via THPDFPlatformSignatureProvider of een door de aanroeper geleverde provider en legt de exacte handtekening-OID vast in THPDFSignatureInfo.SignatureAlgorithmOID
CMS-parsing controleert kruisend de container-digestset, de signer-digest, de parameters van het handtekeningmechanisme en het optionele RFC 6211 algorithm-protection-attribuut vóór het hashen of het dispatchen naar een provider; zie CMS digest-algorithm consistency voor statussen en gedetailleerde issue-codes
ML-DSA-44, ML-DSA-65 en ML-DSA-87 gebruiken de platformprovider wanneer die beschikbaar is, maar verificatie van geladen documenten zet ze pas aan wanneer de Catalog de HotPDF PDF 2.0 developer extension aangeeft
Signing providers
THotPDF.SignPDFWithPFX en de PFX-gebaseerde HPDFCMSSignPDFStream-overloads kiezen RSA, ECDSA, Ed25519 of Ed448 uit de gematchte PKCS#12-identiteit, zonder een signing-callback van de aanroeper
ECDSA-privéscalieren worden ondertekend via Windows CNG en teruggegeven als strikte DER ECDSA-waarden, terwijl Ed25519 en Ed448 een optionele OpenSSL 3-libcrypto gebruiken, gekozen via THPDFCMSSignOptions.OpenSSLLibraryPath of het normale bibliotheekzoekpad
PureEdDSA ondertekent de volledige DER-SET OF aan signed attributes in plaats van een vooraf berekende attributedigest; Ed25519 combineert deze invoer met SHA-512-documentdigests en Ed448 gebruikt id-shake256-len met een SHAKE256-uitvoer van 512 bits
THPDFCMSSignOptions.SignerIdentifier kiest issuer-and-serial- of X.509-SubjectKeyIdentifier-identiteitsencoding onafhankelijk van de privésleutelprovider; zie CMS SubjectKeyIdentifier signers
THPDFCallbackSignatureProvider wikkelt toepassingscallbacks in een provider, terwijl THPDFRemoteSignatureProvider begrensde retry-, annulerings-, invoer- en handtekeninglimieten toepast rond een extern transport
THPDFCSCSignatureProvider implementeert CSC API v2 remote signing bovenop een door de toepassing geleverd HTTP-transport, inclusief OAuth-tokenvernieuwing, discovery van credentials en certificaatketens, expliciete hash-gepinde SAD-verwerving, begrensde geordende multisign-batches, synchrone of asynchrone signatures/signHash, begrensde polling, RFC 3161-tijdstempels, annulering en content-addressed idempotente replay
THPDFPKCS11SignatureProvider serialiseert RSA- en ECDSA-operaties tegen een door de aanroeper beheerde, geauthenticeerde PKCS#11-sessie en privésleutelhandle, en kiest digestspecifieke RSA PKCS#1 v1.5-, RSA-PSS- of ruwe ECDSA-mechanismen zonder sleutelmateriaal te exporteren
THPDFWindowsKeyStorageSignatureProvider opent persistente sleutels in de Microsoft smart-card-KSP of een willekeurige benoemde CNG key-storage-provider, wijst zo nodig softwaresleutels af via de property Impl Type, past een stil of interactief toegangsbeleid toe en ondertekent SHA-2- of SHA3-digests met RSA PKCS#1 v1.5, RSA-PSS of ECDSA
CreateFromKeyHandle pakt een bestaande NCRYPT_KEY_HANDLE in en kan die lenen of in eigendom nemen, zodat toepassingen die smartcard-, TPM- of vendor-HSM-authenticatie al zelf regelen de levenscyclus in handen houden
HPDFCMSBuildSignedDataWithProvider bouwt een detached CMS op basis van de digest die THPDFCMSSignOptions.DigestAlgorithm kiest, terwijl HPDFCMSSignPDFStreamWithProvider een bestaande PDF-handtekeningsplaceholder ondertekent via begrensde streamkopieën, gestreamde range-hashing en seek-patches met vaste breedte, zonder een volledige tweede PDF vast te houden
HPDFCMSEstimatePlaceholder leidt een neveneffectvrije CMS-grootte af uit een expliciete handtekeningslengte, een providerschatting of de RSA-certificaatsleutelgrootte, en rekent daarna met de exacte statische CMS-vorm en de ingestelde dynamische reserveringen voor tijdstempel of contra-handtekening
HPDFCMSSignPDFStreamWithProviderAutoSize en HPDFCMSSignPDFStreamWithExternalSignerAutoSize bouwen te kleine unsigned placeholders opnieuw op vóór het ondertekenen; retries na het ondertekenen vereisen de providercapability spcSafeSignRetry en callbacks van externe signers worden na het teruggeven van een handtekening nooit herhaald
Zie CMS placeholder auto-sizing voor groottopties, rebuild-contracten, retry-beleid en diagnostiek
Zie CSC remote signature provider voor de contracten voor transport, autorisatie, retry, polling en budget
Zie SHA3 PDF signatures and timestamps voor digestbeleid, RFC 3161, Seed Value en de provider- en streamingcontracten
Zie Brainpool ECDSA signatures voor certificaateisen per named curve, de curvespecifieke SHA-2- en SHA3-matrix, strikte DER-encoding en producer-validatie die faalt vóór de provider
Provider-verzoekcontract
THPDFSignatureProviderRequest draagt het handtekeningalgoritme en de OID, de digest-OID, het soort bericht- of digestinvoer, de PSS-zoutlengte, de publieke sleutel of het certificaat, de sleutelidentificator, de operatie-identificator, de handtekening en de algoritmecontext
Een signing-provider geeft spsValid terug met een niet-lege handtekening, terwijl verificatieproviders spsValid of spsInvalid gebruiken; de resultaten unsupported, malformed, provider-error en geannuleerd blijven onderscheiden