Enterprise 版本
Signature — 深入參考
這是 NextPDF Enterprise 長期保存產生器的深入參考:一個 B-LT 或 B-LTA 簽章如何組裝、撤銷資料如何收集與強制、文件時間戳記如何為文件提供錨定,以及 Pro 邊界如何強制。它是行為層級與合約層級的。具體的 Enterprise 實作型別在此刻意不予具名;本頁僅參照公開套件與 Core 合約介面。
可用性與授權
標題為「可用性與授權」的區段此功能隨 NextPDF Enterprise(nextpdf/enterprise)出貨,並以 Enterprise 級授權封套啟用。沒有該權利的部署不會載入此功能的類別。比較版本並取得授權。
規範的「層級→級別」對照矩陣:B-B 是 Core、Pro 與 Enterprise 都會產生的基準;B-T(加時間戳記)由 Core、Pro 與 Enterprise 產生——Core 隨附 RFC 3161 時間戳記路徑,因此 B-T 不需要 Premium 套件;B-LT 與 B-LTA(DSS、VRI、文件時間戳記)僅由 Enterprise 產生。在僅有 Pro 的部署中,請求 B-LT 或 B-LTA 會 fail closed:當 Enterprise 長期保存產生器不存在時,Core 的 SignatureLevel::isAvailableInEnvironment 會回傳 false,而 Core 協調器會引發一個具名錯誤,而非默默降級層級。
| PAdES level | Adds | Producer edition |
|---|---|---|
| B-B | 帶有已簽署屬性的 CMS 簽章 | Core、Pro、Enterprise |
| B-T | 簽章值上的受信任 RFC 3161 時間戳記 | Core、Pro、Enterprise |
| B-LT | 帶有驗證資料的文件安全儲存區 | 僅 Enterprise |
| B-LTA | 涵蓋 DSS 的文件時間戳記(存檔迴圈) | 僅 Enterprise |
概念模型
標題為「概念模型」的區段一個 B-LT 簽章就是一個 B-T 簽章加上一個文件安全儲存區。DSS 是一個目錄層級字典,存放驗證器在簽署憑證過期後所需的憑證、OCSP 回應與 CRL 串流——ISO 32000-2 §12.8.4.3。長期驗證使用兩種字典型別——一個 DSS 與一個文件時間戳記字典——ISO 32000-2 §12.8。CMS 簽章本身以 DER 編碼存放於 /Contents——ISO 32000-2 §12.8.1。
一個 B-LTA 簽章會在整個文件狀態(包含 DSS)之上加入一個文件時間戳記,透過文件時間戳記字典寫入——ISO 32000-2 §12.8.5。ETSI EN 319 142-2 描述相同的長期保存組成——§5.5——以及處理器支援——§6.3.3.3。
產生器流程
標題為「產生器流程」的區段- 建立憑證鏈。 簽署者憑證加上任何呼叫端提供的中繼憑證構成憑證鏈,簽署者在前,朝信任錨點走訪——RFC 5280 §6.1。
- 收集撤銷資料。 對於每個非根憑證,產生器會先查詢 OCSP。一個 OCSP 回應回報
good、revoked或unknown——RFC 6960 §2.2——並由thisUpdate/nextUpdate界定其時間範圍——RFC 6960 §4.2。若 OCSP 無法使用,則回退到 CRL,並支援 delta-CRL;一個 base CRL 與一個選用的 delta 會作為各自獨立的 DSS 項目加入。 - 寫入 DSS。 憑證、OCSP 回應與 CRL 會作為各自獨立的 PDF 串流物件寫入;重複項會依內容雜湊去重。DSS 字典透過
/Certs、/OCSPs、/CRLs參照它們。 - 每個簽章的 VRI(選用)。 一個 VRI 項目,以該簽章
/Contents值的大寫雜湊為鍵,索引該簽章專屬的 certs/OCSP/CRLs,並帶有一個選用的驗證時間項目。VRI 預設關閉:ETSI EN 319 142-1 V1.2.1 §5.4 建議新文件不要在 DSS 中使用 VRI;某些驗證器有 VRI 時仍能更好地顯示長期狀態,因此它可由呼叫端啟用。 - 文件時間戳記(B-LTA)。 在 DSS 寫入後,會附加一個帶有
/SubFilter /ETSI.RFC3161的/DocTimeStamp字典,內含 ByteRange 與/Contents佔位符。在整個檔案組裝後,產生器會計算 ByteRange 的 SHA-256 摘要、請求一個 RFC 3161 符記——§2.4.1——並嵌入該 DER 符記;genTime即為符記建立時的 UTC 瞬時——§2.4.2。
撤銷強制
標題為「撤銷強制」的區段產生器以這個優先序解析強制模式:明確的結構化強制模式優先;否則一個明確的(已棄用)布林值對應到 strict 或 permissive;否則預設為 strict(fail-closed)。
在 strict 強制下,任一非根憑證缺少 OCSP 回應且缺少 CRL 會引發錯誤,而非僅發出警告。fail-closed 預設存在的目的,是讓一份「B-LT」PDF 不能在 DSS 中沒有任何撤銷資料的情況下,仍宣稱具有長期層級而被產生。寬鬆(僅警告)工作流程必須明確選用。在嚴格離線網路政策下,不會進行任何 OCSP/CRL 擷取;只會使用 DSS 中已嵌入的資料,而缺少資料的情況由同一條強制規則處理。
存檔迴圈
標題為「存檔迴圈」的區段B-LTA 文件時間戳記由一張本身會過期的 TSA 憑證錨定。存檔迴圈會在該到期之前執行,為 TSA 憑證鏈收集新鮮的撤銷資料、改寫 DSS、選擇性地加入一個以 TSA 憑證雜湊為鍵的 VRI 項目,並在更新後的狀態之上加入一個新的文件時間戳記。每個新時間戳記都涵蓋先前的時間戳記。依排程執行此迴圈是一項維運義務;若在未設定 TSA 或嚴格離線政策下請求此迴圈,產生器會引發錯誤。完整的存檔介面記載於 Archive 深入參考。
API 介面(僅公開合約)
標題為「API 介面(僅公開合約)」的區段| Type | Kind | Role | Stability | Since |
|---|---|---|---|---|
SignerInterface | interface (NextPDF\Contracts) | Core 簽署合約 | stable | 1.0.0 |
LtvManagerInterface | interface (NextPDF\Contracts) | 在執行階段解析的長期保存產生器 + 存檔迴圈合約 | stable | 1.0.0 |
TsaClientInterface | interface | 產生器所呼叫的 RFC 3161 TSA 用戶端 | stable | 1.0.0 |
SignatureLevel | enum (NextPDF\Security\Signature) | B-B、B-T、B-LT、B-LTA 選擇器與可用性探測 | stable | 1.0.0 |
SignatureLevel::requiresDss → 對 B-LT、B-LTA 為 true。requiresDocumentTimestamp → 只有 B-LTA 為 true。requiresTimestamp → 對 B-T、B-LT、B-LTA 為 true。正式環境程式碼依賴這些合約;具體的 Enterprise 實作類別屬於內部,不是公開 API 的一部分。
一致性
標題為「一致性」的區段| Claim | Standard | Clause |
|---|---|---|
簽章/時間戳記以 DER 編碼存放於 /Contents。 | ISO 32000-2 | §12.8.1 |
| LTV 使用一個 DSS 與一個文件時間戳記字典。 | ISO 32000-2 | §12.8 |
| DSS 是文件目錄中 DSS 鍵之值的字典;存放 Certs、OCSPs、CRLs。 | ISO 32000-2 | §12.8.4.3 |
| 文件時間戳記字典結構。 | ISO 32000-2 | §12.8.5 |
| 用於長期簽章的 DSS 加文件時間戳記。 | ETSI EN 319 142-2 | §5.5 |
| 處理器支援 DSS 加文件時間戳記。 | ETSI EN 319 142-2 | §6.3.3.3 |
| RFC 3161 請求回傳 TSTInfo;genTime 為 UTC 建立瞬時。 | RFC 3161 | §2.4.1, §2.4.2 |
| OCSP good/revoked/unknown 由 thisUpdate/nextUpdate 界定。 | RFC 6960 | §2.2, §4.2 |
| 朝信任錨點的路徑驗證輸入。 | RFC 5280 | §6.1 |
所有條款皆為改寫。NextPDF 不重製規範性文字。**NextPDF 不做任何 PAdES 認證聲明:**產生器寫入的結構與 ETSI EN 319 142 所定義的 B-LT 及 B-LTA 層級對齊;不主張任何一致性測試結果或第三方認證。ETSI EN 319 142-1 基準層級部分不在所引用的證據集合之內,因此所引用的 ETSI 錨點是 EN 319 142-2,而 ISO/RFC 錨點承載長期與時間戳記聲明——與 Core 簽署參考所採的揭露態勢完全一致。所產生的簽章是否能驗證通過,取決於驗證器,以及它的信任錨點與撤銷新鮮度政策;產生器只嵌入資料,不主張任何受信任的結果。
邊界案例與 FIPS 模式行為
標題為「邊界案例與 FIPS 模式行為」的區段邊界案例
標題為「邊界案例」的區段- DSS 必須在文件時間戳記之前寫入;在 DSS 之前寫入的時間戳記並不涵蓋驗證資料。
- strict 強制(預設)在某個非根憑證缺少撤銷資料時引發錯誤。permissive 為選用。
- 未設定 TSA 的 B-LTA 會引發錯誤,而非產生 B-LT。
- 嚴格離線政策:無 OCSP/CRL/TSA 網路存取;在嚴格離線下無法達成 B-LTA。
- 文件時間戳記符記有一個受限的保留空間;超過該空間的符記會引發錯誤,而非截斷。
FIPS 模式行為
標題為「FIPS 模式行為」的區段FIPS 140-3 密碼學原則設定檔是隨安全模組一併記載的 Enterprise 功能。長期保存產生器只加入用於文件時間戳記的 SHA-256 摘要與 RFC 3161 交換;簽署原語來自 Core 簽署器。在 FIPS 設定檔下會產生相同的 DSS、VRI 與文件時間戳記結構;該約束適用於簽署與摘要演算法,而非 DSS 配置。透過 PKCS#11 的硬體金鑰保管隨安全模組一併記載,不在本頁範圍內。
行為合約
標題為「行為合約」的區段- Core 產生 B-B 與 B-T(B-T 在簽章值上加入 RFC 3161 時間戳記)。Pro 透過相同的 Core 堆疊產生 B-B 與 B-T。B-LT 與 B-LTA 僅由 Enterprise 產生。
- 產生器寫入 DSS(B-LT),以及涵蓋 DSS 的文件時間戳記(B-LTA)。它嵌入驗證資料;不主張任何受信任的驗證結果。
- fail-closed 撤銷強制預設會在某個非根憑證缺少撤銷資料時引發錯誤,除非呼叫端選用寬鬆工作流程。
- B-LTA 需要已設定的 TSA;沒有 TSA 時,B-LTA 步驟會引發錯誤,而非降級為 B-LT。
Core 回退
標題為「Core 回退」的區段在僅有 Core 的部署中,軟體簽署器透過 SignerInterface 產生 PAdES B-B 與 B-T;Core 隨附 RFC 3161 時間戳記路徑,因此 B-T 不需要任何 Premium 套件。Core 沒有 DSS、VRI 或文件時間戳記產生器;B-LT 或 B-LTA 請求會透過 SignatureLevel::isAvailableInEnvironment 回傳 false 而 fail closed。
Pro 回退
標題為「Pro 回退」的區段在僅有 Pro 的部署中,簽署路徑是 B-B/B-T 基準加上遠端與雲端 KMS 簽署工作流程。Pro 不產生任何 DSS 或文件時間戳記。RemoteSigningConfig 承載 Core 的 SignatureLevel enum,但長期保存層級(B-LT/B-LTA)是 Pro 不會處理的前向宣告值;長期保存產生器會在執行階段透過 Core 合約解析,並隨附於 nextpdf/enterprise。
Enterprise 邊界註記
標題為「Enterprise 邊界註記」的區段內部機制細節保留在來源儲存庫的內部文件中,不在本手冊範圍內。
部署邊界
標題為「部署邊界」的區段NextPDF Enterprise 嵌入驗證資料;它整合呼叫端提供的 OCSP/CRL 回應器與一個 RFC 3161 TSA。它本身不營運、不託管,也不保證那些回應器或 TSA 的可用性。**長期有效性取決於那些回應器、TSA、存檔迴圈排程與操作者——而非單靠 NextPDF Enterprise。**操作者負責 TSA 的選擇與可連線性、撤銷回應器的存取或預先收集資料、網路政策,以及在每個時間戳記憑證過期前執行存檔迴圈。
發佈邊界
標題為「發佈邊界」的區段本頁僅記載外部可觀察的行為與所支援的公開 API 介面。內部命名空間路徑、輔助類別、機制表格、runbook 檔名以及工單前綴皆不在範圍內。
法律合規邊界
標題為「法律合規邊界」的區段與 ETSI EN 319 142 所定義的 B-LT 及 B-LTA 結構對齊是結構性陳述,不是法律意見,也不是認證。**NextPDF 不做任何 PAdES 認證聲明。**所產生的簽章是否能驗證通過,取決於驗證器,以及它的信任錨點與撤銷新鮮度政策。
另請參閱
標題為「另請參閱」的區段- Signature(功能總覽)
- Archive 深入參考 — DSS/VRI 維護、LTV 健康、存檔迴圈。
- Security / Signing(Core) — CMS、RFC 3161、RFC 5280、OCSP/CRL。
- Pro security — B-B 基準與 Enterprise 邊界。
- PAdES 基準對應