Skip to main content

Example algo package with Cython-compiled submodules

Project description

🔐 License Tool

License Tool 是一個 基於 RSA 簽名驗證 的授權管理套件,提供:

  • ✅ License 簽署(sign)
  • ✅ License 驗證(verify)
  • ✅ RSA 金鑰自動生成(genkeys)

📚 目錄

🚀 安裝方式

1️⃣ 本地安裝(開發模式)

git clone https://your.repo/license_tool.git

cd license_tool

python -m venv .venv

source .venv/bin/activate

pip install -r requirements.txt

pip install -e .

使用方式

  • 必須進入license_tool的虛擬環境
  • 查看指令功能
    license-tool -h
    
    license-tool genkeys -h
    
    license-tool sign -h
    
    license-tool verify -h
    

金鑰產生

⚠️ gitlab clone下來的專案已經有keys

⚠️已經有金鑰就不要重複產生,否則金鑰可能覆蓋,造成已經生成的license失效

  • 指令:
    license-tool genkeys <output_dir>
    
  • 範例: license-tool genkeys keys
    • 📂 會產生以下兩個檔案:
    • keys/private.pem (⚠️ private.pem 絕對不能給出)
    • keys/public.pem

License 生成

  • 指令:
    license-tool sign <license_file_path> <private_key>
    
  • 範例: license-tool sign example/license.json keys/private.pem
  • License file 格式請參考下列範例
    {
        "custom_name": "IOTech",
        "macs": [
            "c8:d9:d2:19:fa:2c",
            "08:00:27:a6:59:dd",
            "08:00:27:6f:f7:c0"
        ],
        "expire_date": "2025-12-31 23:59:59",
        "deploy_cnt": "2",
        "signature": ""
    }
    

⚠️ license.json 是原始未簽名的檔案,license_out.json 是經簽名後產生的授權檔案,包含合法的 signature 欄位。

License 驗證

  • 指令:
    license-tool verify <license_path> <public_key> <host_mac>
    
  • 範例: license-tool verify example/license_out.json keys/public.pem 08:00:27:6f:f7:c0

提交內容

  • license檔案: 例如範例中的license_out.json
  • Public Key: 例如範例中的public.pem

⚠️ Private Key 絕對不能給出

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

license_tool_ias-0.2.2-cp311-cp311-win_amd64.whl (98.7 kB view details)

Uploaded CPython 3.11Windows x86-64

license_tool_ias-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl (133.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

license_tool_ias-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl (131.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

license_tool_ias-0.2.2-cp311-cp311-manylinux_2_28_x86_64.whl (132.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

license_tool_ias-0.2.2-cp311-cp311-manylinux_2_28_aarch64.whl (132.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

File details

Details for the file license_tool_ias-0.2.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for license_tool_ias-0.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1d525b39c5e245b35777717bb981dcff3fa76524b0aca1d5915ecea9b67da7f9
MD5 2cc2fd3fefc6c126fdcf54b871b6096b
BLAKE2b-256 42974ad3a7aa95d4fc8aa58a829a53030f3b94d9e4c11b3e2c1731991563a934

See more details on using hashes here.

File details

Details for the file license_tool_ias-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for license_tool_ias-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 891aac767744c82792e6c3cf7d05b27ddc4f670d857bd7b12208ce66d72b812c
MD5 70da5751cc1406c0e5e9b6e725421e7c
BLAKE2b-256 9c9625c1357987c7cacb4676d507467d4d8585ce50c385db66929df94f98aca5

See more details on using hashes here.

File details

Details for the file license_tool_ias-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for license_tool_ias-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4f18f5fa90bed000ca654ea3e09c79f67bd05bfa3578cb281b109ee53f6be532
MD5 e92ff25e7dc554ae98dd8e6a3ba454f1
BLAKE2b-256 739f9972f301598037d1e589605551399296fc00ae0e13003e693591877f5e2f

See more details on using hashes here.

File details

Details for the file license_tool_ias-0.2.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for license_tool_ias-0.2.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3c63682f106b07b63f5a308ee491e3b405fce7581df70f0e6b6d3e3155fe72df
MD5 c9fe72764bd8572018100e5042c6fe76
BLAKE2b-256 7592a9fd9e1f6440a5362733661d471aafd881b728ddbebe88e40c1001ddd575

See more details on using hashes here.

File details

Details for the file license_tool_ias-0.2.2-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for license_tool_ias-0.2.2-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2cd499d0b2822ad68ddc55f0f3afaef6c32a363f102c95540ddc714fe3010199
MD5 cdc5892fa6360881b495c227c3d77330
BLAKE2b-256 6127d1de3853de84b6d3a09623f68205d6f002f63e731caaa57f5295eab6c7d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page