CSC 远程签名提供程序
THPDFCSCSignatureProvider 在现有 THPDFSignatureProvider 契约上实现 CSC API v2 credentials/info、credentials/authorize、credentials/authorizeCheck、signatures/signHash、signatures/signPolling 和 signatures/timestamp
传输与授权
提供程序从不选择 HTTP 栈,也不存储刷新令牌、客户端密钥、PIN 或 OTP
THPDFCSCTransport 接收精确的方法、URL、bearer 授权、JSON 正文、稳定幂等键、尝试次数、操作标识符和响应预算,而 THPDFCSCAccessTokenCallback 提供并刷新短期 OAuth 访问令牌
当需要 SAD 时,提供程序检索凭据元数据和完整的有界证书链,向 THPDFCSCAuthenticationCallback 请求已审查的认证值,获取 SAD,并在必要时轮询异步授权句柄
签名与重放安全
Sign 接受来自 CMS 管线的摘要输入,将摘要和签名 OID 带入 signatures/signHash,并在需要时发出 DER 编码的 RSA-PSS 参数
同步响应立即返回一个解码签名,而异步响应在轮询前存储不透明的 responseID
瞬时请求复用派生自操作的一个 Idempotency-Key,当相同操作、凭据、算法和摘要再次提交时,有界操作缓存返回已完成的签名
multisign 值,且响应必须为每个请求的摘要恰好包含一个签名
临时请求复用定长的 SHA-256 内容寻址 Idempotency-Key;当同一操作、凭据、参数和有序摘要再次提交时,有界操作缓存会返回已完成批次的防御性副本
失败的传输尝试会保留自动授权的 SAD 供精确重试使用,但另一个批次不能消费该 SAD,必须获取新的授权
预算与取消
THPDFCSCOptions.Default 约束响应字节、签名、时间戳、证书链数量和字节、重试次数、Retry-After 延迟、轮询尝试和缓存操作
Cancel 在传输调用前、重试之间和短切片轮询等待期间被观察,操作标识符也传递给传输,以便应用可以取消自己的进行中 HTTP 请求
证书链与时间戳
RefreshCredentialInfo 验证并缓存密钥、算法、授权、SCAL、多重签名和证书链元数据而不签名
GetCertificateChain 返回适合 CMS 证书输入的防御性字节副本,而 TimestampDigest 请求并解码一个带可选 nonce 的 RFC 3161 令牌