现代签名提供程序

HPDFSignatureProvider 将 CMS 解析和编码与私钥存储及平台加密分离

验证算法

HPDFVerifyCMSSignatureEx 通过 THPDFPlatformSignatureProvider 或调用方提供的提供程序验证 Ed25519 和 Ed448 纯模式 CMS 签名,并在 THPDFSignatureInfo.SignatureAlgorithmOID

在哈希或提供者分发前,CMS 解析交叉检查容器摘要集、签名者摘要、签名机制参数和可选的 RFC 6211 算法保护属性;状态与详细问题码参见 CMS 摘要算法一致性

ML-DSA-44、ML-DSA-65 与 ML-DSA-87 在平台提供者可用时使用之,但已加载文档验证只有在 Catalog 声明 HotPDF PDF 2.0 开发者扩展时才启用它们

签名提供程序

THotPDF.SignPDFWithPFX 与 PFX 后端的 HPDFCMSSignPDFStream 重载从匹配的 PKCS#12 身份选择 RSA、ECDSA、Ed25519 或 Ed448,无需调用方提供签名回调

ECDSA 私有标量经 Windows CNG 签名并返回严格 DER 的 ECDSA 值;Ed25519 与 Ed448 使用可选的 OpenSSL 3 libcrypto,由 THPDFCMSSignOptions.OpenSSLLibraryPath 或常规库搜索路径选择

PureEdDSA 签名完整的 DER SET OF 已签名属性,而不是预计算的属性摘要;Ed25519 把该输入与 SHA-512 文档摘要配对,Ed448 使用 id-shake256-len 输出 512 位 SHAKE256

THPDFCMSSignOptions.SignerIdentifier 独立于私钥提供者选择 issuer-and-serial 或 X.509 SubjectKeyIdentifier 身份编码;参见 CMS SubjectKeyIdentifier 签名者

THPDFCallbackSignatureProvider 适配应用程序回调,而 THPDFRemoteSignatureProvider 在远程传输周围应用有界的重试、取消、输入和签名限制

THPDFCSCSignatureProvider经应用提供的 HTTP 传输实现 CSC API v2 远程签名,包括 OAuth 令牌刷新、凭据与证书链发现、显式哈希绑定的 SAD 获取、有界有序 multisign 批次、同步或异步signatures/signHash、有界轮询、RFC 3161 时间戳、取消和幂等操作重放

THPDFPKCS11SignatureProvider对调用方拥有的已认证 PKCS#11 会话和私钥句柄序列化 RSA 操作,选择 CKM_RSA_PKCS 或 CKM_RSA_PKCS_PSS 而不导出密钥材料

THPDFWindowsKeyStorageSignatureProvider 在 Microsoft 智能卡 KSP 或任何命名 CNG 密钥存储提供程序中打开持久化密钥,可选地通过 Impl Type 属性拒绝软件密钥,应用静默或交互访问策略,并使用 RSA PKCS#1 v1.5 或 RSA-PSS 对 SHA-256 摘要签名

CreateFromKeyHandle 适配现有的 NCRYPT_KEY_HANDLE,可以借用或拥有它,让已经管理智能卡、TPM 或供应商 HSM 认证的应用程序保留生命周期控制

HPDFCMSBuildSignedDataWithProvider按 THPDFCMSSignOptions.DigestAlgorithm 选择的摘要构建分离 CMS,而HPDFCMSSignPDFStreamWithProvider 通过有界流复制、流式范围哈希和固定宽度寻道补丁对现有 PDF 签名占位符签名,而不保留完整的第二个 PDF

HPDFCMSEstimatePlaceholder 从显式签名长度、提供程序估计或 RSA 证书密钥大小派生无副作用的 CMS 大小,然后核算精确的静态 CMS 形状以及配置的动态时间戳或反签名预留

HPDFCMSSignPDFStreamWithProviderAutoSize 和 HPDFCMSSignPDFStreamWithExternalSignerAutoSize 在签名前重建尺寸不足的未签名占位符;签名后重试需要提供程序能力 spcSafeSignRetry,并且外部签名者回调在返回签名后绝不重复

请参阅 CMS 占位符自动调整大小 了解尺寸选项、重建契约、重试策略和诊断

请参阅 CSC 远程签名提供程序(传输、授权、重试、轮询与预算契约)

摘要策略、RFC 3161、Seed Value、提供者与流式契约参见 SHA3 PDF 签名与时间戳

命名曲线证书要求、曲线专属的 SHA-2 与 SHA3 矩阵、严格 DER 编码以及提供者前置失败验证参见 Brainpool ECDSA 签名

提供程序请求契约

THPDFSignatureProviderRequest 携带签名算法和 OID、摘要 OID、消息或摘要输入种类、PSS 盐长度、公钥或证书、密钥标识符、操作标识符、签名和算法上下文

签名提供程序返回带非空签名的 spsValid,而验证提供程序使用 spsValid 或 spsInvalid;不支持的、格式错误的、提供程序错误和已取消的结果保持不同