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 值,回應必須為每個請求的 digest 精確包含一個簽章
暫時性請求重用固定長度、以 SHA-256 內容定址的 Idempotency-Key;有界的操作快取在相同操作、憑證、參數與有序 digest 再次提交時,回傳已完成批次的防禦性拷貝
傳輸失敗時,會為精確重試保留自動授權的 SAD;不同批次不能消費該 SAD,必須取得新的授權
預算與取消
THPDFCSCOptions.Default 為回應位元組、簽章、時間戳記、憑證鏈數目與位元組、重試嘗試、Retry-After 延遲、輪詢嘗試與快取作業設上限
Cancel 會在傳輸呼叫之前、重試之間與短分片輪詢等待期間被觀察,而作業識別碼也會傳給傳輸層,使應用程式可以取消自己的進行中 HTTP 要求
憑證鏈與時間戳記
RefreshCredentialInfo 在不必簽章的情況下驗證並快取金鑰、演算法、授權、SCAL、多重簽章與憑證鏈中繼資料
GetCertificateChain 傳回適合 CMS 憑證輸入的防衛性位元組複本,而 TimestampDigest 則請求並解碼一個帶有可選 nonce 的 RFC 3161 符記