05/22 Update license_service.py with public key
This commit is contained in:
@@ -1,30 +1,5 @@
|
||||
"""
|
||||
TechDesk License Service — offline RSA-signed key validation.
|
||||
|
||||
Key format: TDESK-<payload_b64>.<signature_b64>
|
||||
|
||||
payload_b64 = base64url( UTF-8 JSON bytes )
|
||||
signature_b64 = base64url( RSA-SHA256 signature of those bytes )
|
||||
|
||||
JSON payload fields:
|
||||
customer — company name
|
||||
email — contact email
|
||||
tier — "community" | "business" | "enterprise"
|
||||
issued_at — ISO date (YYYY-MM-DD)
|
||||
expires_at — ISO date (YYYY-MM-DD)
|
||||
|
||||
The public key below is the matching counterpart to the private key in
|
||||
license_server/private_key.pem. Replace the placeholder with the real key
|
||||
after running license_server/generate_keys.py for the first time.
|
||||
|
||||
Public key replacement steps:
|
||||
1. cd license_server && python generate_keys.py
|
||||
2. Copy the full contents of license_server/public_key.pem
|
||||
3. Replace the PUBLIC_KEY_PEM constant below with the copied text
|
||||
4. Restart the TechDesk app
|
||||
|
||||
The public key can only verify signatures — it cannot forge them.
|
||||
It is safe to embed in the application and ship to customers.
|
||||
"""
|
||||
|
||||
import base64
|
||||
@@ -34,10 +9,14 @@ from datetime import date, datetime
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# ── Replace this with the output of license_server/generate_keys.py ──────────
|
||||
# After running generate_keys.py, copy the full contents of public_key.pem here.
|
||||
PUBLIC_KEY_PEM = """-----BEGIN PUBLIC KEY-----
|
||||
REPLACE_WITH_REAL_PUBLIC_KEY_FROM_license_server/generate_keys.py
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxAMwjewlFaHpP+e69jM8
|
||||
2I630u4B66kHcnqen2bxK65CZxvTBlLy2k/sm4zVVFyX0nf/9bDDio0UUTJrKWsp
|
||||
kWV91Ag6FbvMgiJixfg5cZmpOd/abMs2OXAT/GZY+TLoszduchLLbkZjfDlhJzlt
|
||||
D0MmAU9IY+zm9kW/YLWujFE37CFAfMLkDasQ7ZKKqjzQH6jOi8MoccI5zk8GlpoA
|
||||
zlppk4dyQejmVDIXItg/0WVxaUa26tFafpU1RROlOKsw1lFXlWRQkc/uuJCdM943
|
||||
PX0y1ZCCoNuOKofTIeBT506V7oM4g0rHGmD7esQJsz2S5E2rLetyLwcMKNjzo4a4
|
||||
dwIDAQAB
|
||||
-----END PUBLIC KEY-----"""
|
||||
|
||||
# ── Tier → feature set mapping ───────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user