Modern Signature Providers
HPDFSignatureProvider sépare l'analyse et l'encodage CMS du stockage de la clé privée et de la cryptographie de plateforme
Algorithmes de vérification
HPDFVerifyCMSSignatureEx vérifie les signatures CMS en mode pur Ed25519 et Ed448 via THPDFPlatformSignatureProvider ou un fournisseur fourni par l'appelant et enregistre l'OID de signature exact dans THPDFSignatureInfo.SignatureAlgorithmOID
ML-DSA-44, ML-DSA-65 et ML-DSA-87 utilisent le fournisseur de plateforme lorsqu'il est disponible, mais la vérification de documents chargés ne les active que lorsque le Catalog déclare l'extension de développeur HotPDF PDF 2.0
ML-DSA-44, ML-DSA-65 et ML-DSA-87 utilisent le fournisseur de plateforme lorsqu’il est disponible, mais la vérification de documents chargés ne les active que si le Catalogue déclare l’extension développeur PDF 2.0 de HotPDF
Fournisseurs de signature
THPDFCallbackSignatureProvider adapte les rappels d'application, tandis que THPDFRemoteSignatureProvider applique des limites bornées de relance, d'annulation, d'entrée et de signature autour d'un transport distant
THPDFCSCSignatureProvider implémente la signature distante CSC API v2 sur un transport HTTP fourni par l'application, y compris l'actualisation du jeton OAuth, la découverte des identifiants et chaînes de certificats, l'autorisation explicite et l'acquisition SAD, le signatures/signHash synchrone ou asynchrone, l'interrogation bornée, les horodatages RFC 3161, l'annulation et la relecture idempotente d'opérations
THPDFWindowsKeyStorageSignatureProvider ouvre les clés persistées dans le KSP de carte à puce Microsoft ou tout fournisseur de stockage de clés CNG nommé, rejette facultativement les clés logicielles via la propriété Impl Type, applique une politique d'accès silencieuse ou interactive, et signe les condensés SHA-256 avec RSA PKCS#1 v1.5 ou RSA-PSS
CreateFromKeyHandle adapte un NCRYPT_KEY_HANDLE existant et peut l'emprunter ou le posséder, permettant aux applications qui gèrent déjà l'authentification par carte à puce, TPM ou HSM fournisseur de conserver le contrôle du cycle de vie
HPDFCMSBuildSignedDataWithProvider construit un CMS détaché à partir d'un condensé SHA-256 de document, tandis que HPDFCMSSignPDFStreamWithProvider signe un espace réservé de signature PDF existant via des copies de flux bornées, un hachage de plages diffusées et des correctifs de recherche à largeur fixe sans conserver un second PDF complet
THPDFCSCSignatureProvider implémente la signature distante CSC API v2 sur un transport HTTP fourni par l’application, y compris le rafraîchissement de tokens OAuth, la découverte des identifiants et de la chaîne de certificats, l’acquisition de SAD épinglés par hash explicites, des lots multisign ordonnés bornés, signatures/signHash synchrone ou asynchrone, la scrutation bornée, les horodatages RFC 3161, l’annulation et le replay idempotent adressé par contenu
THPDFPKCS11SignatureProvider sérialise les opérations RSA et ECDSA contre une session PKCS#11 authentifiée et un handle de clé privée possédés par l’appelant, en choisissant les mécanismes RSA PKCS#1 v1.5 par condensé, RSA-PSS ou ECDSA brute sans exporter le matériel de clé
THPDFWindowsKeyStorageSignatureProvider ouvre des clés persistées dans le KSP de carte à puce Microsoft ou tout fournisseur de stockage de clés CNG nommé, rejette optionnellement les clés logicielles via la propriété Impl Type, applique une politique d’accès silencieuse ou interactive, et signe des condensés SHA-2 ou SHA3 avec RSA PKCS#1 v1.5, RSA-PSS ou ECDSA
CreateFromKeyHandle adapte un NCRYPT_KEY_HANDLE existant et peut l’emprunter ou le posséder, permettant aux applications qui gèrent déjà l’authentification carte à puce, TPM ou HSM constructeur de garder le contrôle du cycle de vie
HPDFCMSBuildSignedDataWithProvider construit un CMS détaché depuis le condensé choisi par THPDFCMSSignOptions.DigestAlgorithm, tandis que HPDFCMSSignPDFStreamWithProvider signe un espace réservé de signature PDF existant via des copies de flux bornées, un hachage de plages en flux et des patchs au seek à largeur fixe, sans retenir un second PDF complet
HPDFCMSEstimatePlaceholder dérive une taille CMS sans effet de bord à partir d'une longueur de signature explicite, d'une estimation de fournisseur ou de la taille de clé du certificat RSA, puis tient compte de la forme CMS statique exacte et des réserves dynamiques configurées d'horodatage ou de contre-signature
HPDFCMSSignPDFStreamWithProviderAutoSize et HPDFCMSSignPDFStreamWithExternalSignerAutoSize reconstruisent les espaces réservés non signés trop petits avant de signer ; les relances post-signature requièrent la capacité de fournisseur spcSafeSignRetry, et les rappels de signataire externe ne sont jamais répétés après avoir renvoyé une signature
Voir le dimensionnement automatique des espaces réservés CMS pour les options de dimensionnement, les contrats de reconstruction, la politique de reprise et les diagnostics
Voir le fournisseur de signature distante CSC pour les contrats de transport, d’autorisation, de reprise, de scrutation et de budget
Voir CMS placeholder auto-sizing pour les options de dimensionnement, les contrats de reconstruction, la politique de relance et les diagnostics
Voir CSC remote signature provider pour les contrats de transport, d'autorisation, de relance, d'interrogation et de budget
Contrat de requête de fournisseur
THPDFSignatureProviderRequest porte l'algorithme et l'OID de signature, l'OID de condensé, le type d'entrée message ou condensé, la longueur de sel PSS, la clé publique ou le certificat, l'identifiant de clé, l'identifiant d'opération, la signature et le contexte d'algorithme
Un fournisseur de signature renvoie spsValid avec une signature non vide, tandis que les fournisseurs de vérification utilisent spsValid ou spsInvalid ; les résultats non pris en charge, malformés, d'erreur de fournisseur et annulés restent distincts