Device License SDKPlatform 13.3.7 · SDK 3.1.0

開始整合

整合導覽:從零到第一次驗證

用最小步驟建立可重現的開發環境,完成首次註冊、後續驗證與錯誤紀錄。

你在開始前需要取得什麼

SDK 不從公開網站下載。授權管理員會透過受控方式提供 SDK Wheel 與該產品專用的公開部署參數。這些參數不是 Server Secret,但仍應由你的應用程式團隊管理版本與變更。

SDK Wheel

由管理員提供的正式版本,不要從不明來源取得。

Gateway URL

Client 唯一需要連線的公開 HTTPS 入口。

Product UUID / Namespace

識別產品與本機儲存區,兩者不可隨意變更。

Gateway Public Key

驗證 Gateway 回應簽章的公開信任根。

建立乾淨環境

每個產品使用獨立虛擬環境,避免其他專案的依賴版本影響 SDK。正式建置環境應固定 Python 與依賴版本。

powershell
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install .\vendor\keygen_device_sdk.whl

用 `.env.example` 建立第一次設定

Admin 交付的完整範例 ZIP 會包含 `.env.example`。先複製成 `.env`,與範例 `.py` 放在同一資料夾,再修改公開部署值。範例會用 Python 標準函式庫自行載入,不需要安裝 python-dotenv,也不要執行 source .env。

powershell
Copy-Item .\.env.example .\.env
notepad .\.env
python .\tpm_client_quickstart.py
dotenv
KEYGEN_GATEWAY_URL="https://license.example.com"
KEYGEN_PRODUCT_ID="YOUR-PRODUCT-UUID"
KEYGEN_PRODUCT_NAMESPACE="com.example.your-product"
KEYGEN_GATEWAY_PUBLIC_KEY="PASTE-ED25519-PUBLIC-KEY"
KEYGEN_GATEWAY_KEY_ID="gateway-v1"
KEYGEN_FEATURE_CODE="HDL_EXPORT"

env("ABC", "123")

先讀取 ABC;不存在或空白時回傳字串 123。省略第二個引數代表必填。需要數字時再使用 int 或 float 轉型。

設定優先序

OS/IDE/Service Manager Environment 優先,其次是 `.env`,最後才是程式預設值。讀取設定不會修改 License Server。

建立 ClientConfig

把管理員提供的公開部署參數集中在一個只讀設定模組。不要在不同畫面或功能中重複建立不同的 Client。

python
from keygen_device_sdk import ClientConfig, DeviceLicenseClient



client = DeviceLicenseClient(

    ClientConfig(

        gateway_base_url="https://license.example.com",

        product_id="YOUR-PRODUCT-UUID",

        product_namespace="com.example.your-product",

        gateway_signing_public_key_b64="YOUR-GATEWAY-PUBLIC-KEY",

        gateway_signing_key_id="gateway-v1",

        connection_log_enabled=True,

    )

)

第一次與之後的啟動流程

  1. 檢查 requires_license_key

    只有本機尚未完成註冊時才向使用者要求 License Key。

  2. 安全輸入 License Key

    使用 getpass 或遮罩輸入框;不要保存到檔案或 Log。

  3. 呼叫 ensure_registered()

    首次執行完成註冊;已有健康本機身分時執行線上驗證。

  4. 呼叫 require_valid()

    把失敗轉成清楚、可處理的錯誤,而不是繼續執行。

正式整合前的最低測試矩陣

  • 有效 License 首次註冊成功
  • 第二次啟動使用 TPM Challenge,不要求保存 License Key
  • 錯誤 License Key 被拒絕
  • License 過期或撤銷時高價值功能停止
  • 網路中斷時依產品規則處理
  • Gateway Public Key 不符時拒絕回應
  • connection.log 不包含 License Key 或 Token
下一步

把文件轉成可驗證的整合流程

先在測試 License 上完成首次註冊、後續驗證、撤銷與斷線測試,再將相同模式接入正式功能。

查看 Quickstart