Device License SDKPlatform 13.3.7 · SDK 3.1.0

Python SDK · TPM-backed identity · Signed validation

把授權整合做成
可維護的產品能力。

這份手冊是給實際開發 Client 應用程式的工程師。你會從第一次啟用開始,理解 Machine、User、Entitlement、Usage 與長時間 Session 的差異,並把驗證放在真正需要保護的功能邊界。

Python SDKPython 3.9+TPM Identity不可匯出私鑰Signed Result固定 Gateway 信任根
license_flow.py
with client.licensed_session(
    required_entitlements=("HDL_EXPORT",),
) as session:
    session.check()
    export_hdl()
License validTPM verified
不公開 SDK Wheel不公開 Product / Account ID不公開 Server Credential所有公開範例均為 Placeholder

Recommended path

依照你的整合階段閱讀

不要一開始就把所有 API 塞進主程式。先建立最小驗證,再逐步加入商業規則與長時間執行控制。

Trust model

你保護的是信任鏈,不是一個布林值

SDK 將裝置身分、Server 決策與功能授權分開。理解這三層後,才能在正確位置阻擋未授權操作。

1

TPM 裝置身分

私鑰留在硬體 Provider。複製 registration.json 不足以冒充原裝置。

2

Gateway 簽章結果

Client 固定公開信任根,只接受可驗證的授權回應。

3

功能執行邊界

在真正匯出、分析、燒錄或產檔之前,再次確認 License 與 Entitlement。

Scenario library

從使用場景找到正確範例

每個範例都說明什麼時候使用、為什麼採用這種設計、執行步驟與常見錯誤,而不只是貼一段程式碼。

開始使用

TPM Quickstart

完成第一次裝置註冊,並驗證日常啟動只使用 Device ID、一次性 Challenge 與 TPM Signature。

使用者授權

User-based Licensing

用可信任後端提供的 User UUID,驗證『哪一位被授權的人』正在使用軟體。

User-based licensing

「最大 User」不是 Windows 帳號數。

User-based licensing 適合已有可信登入系統的產品。Client 必須取得後端已驗證的 User UUID;本機 username、Email 或使用者自行輸入的值都不能直接代表授權身分。

閱讀完整 User 授權指南 →
Machine哪一台裝置

限制被啟用的硬體身分。

User哪一位被授權的人

依可信後端建立的人員身分計算。

Process同時執行幾份程式

控制並行席位,不取代 Machine。

Windows delivery

EXE 可以提高逆向成本,但不能保證不可破解。

使用 Nuitka 或 PyInstaller 只是打包選擇。真正需要保留的是 Authenticode 簽章、固定 Gateway 公鑰、高價值操作前驗證,以及永不把 Server Secret 放進 Client。

查看安全打包指南

Support

整合遇到問題時,先保留可重現資訊。

準備 SDK 版本、錯誤代碼、connection.log 中不含秘密的事件、作業系統版本與可重現步驟,再聯絡管理員。不要透過 Email 傳送 License Key 或任何 Token。