User Tools

Site Tools


internal.backup:crm:generator_spec

License generator - Technical Specification

  • This project is currently in the informational stage. Ideas presented here are subject to change or delete.

Key Manager

License Data

  • The content of the license depend of the version used

Version 1

  • This license is a text file - we will count number of jump line (\n)
Content Line
Owner 1
Max NetWeaver 2
Ip 3
Expiration Date (dd/MM/YYYY) 4
Edit/Dev Mode 5
Perpetual License 6
Max Hana Connector 7

Version 2

  • This license is a text file - we will count number of jump line (\n)
Content Line
Owner 1
Max System 2
Ip 3
Expiration Date (dd/MM/YYYY) 4
License Type 5
Perpetual License 6

Version 3

  • This license is Json with hashed Key
Main table
Key Value type Description
uId long ClientID used internaly on Key Generator
devMode int Special flag for dev Mode
licenseList JSON Every license packed
This is the content of eatch licenseList
Key Value type Description
productId long ProductID ( NETWEAVER / HANA / BUSINESSOBJECTS / AGENT / DATADOG )
trustIp string List of ip allowed to use can be list or mask
licenseType int Type of License used (Trial/Perpetual/Expiration/OnUseBilling)
internalMode int Special flag for internal Mode
endTime LocalDate Expiration Date (dd-MM-YYYY)
postCount int Number of system/users/agent allowed to run

License Security

  • Only Private key distribued (License v1/v2)

Version Management

  • New Version will be started by special symbol who not exist in base64
V1 : None
V2 : None
V3 : $
Caption Effect
Invalid Error showed to user as invalid Key
Error Error showed to user as typing error
Step by Step Valid Error
Check if empty next return 01
Trim Space (In start and in end) next NaN
Check Length correct next return 02

→ Version 1/2 (sKey.Length % 4)

Step by Step v1/2 Valid Error
Check v3+ header Goto V3 next
Decrypt License Probe Valid Invalid

→ Version 3+

Step by Step v3+ Valid Error
Check Valid header next return 03
Remove header next NaN
Decrypt License NG Valid Invalid

Decrypt License Probe

Step by Step Valid Error
Base64 to char next Invalid 001
Use RSA/ECB/PKCS1Padding next Invalid 002
Extract hash(Sha-256) next Invalid 003
Extract seed next NaN
Create Hash from data next Invalid 004
Compare Hash to DataHash next Invalid 005
Count number of line (More than 6) next Invalid 006
Parse License - ASCII Valid Invalid 007

Decrypt License NG

Step by Step Valid Error
Base64 to char next Invalid 001
Extract Key decrypt-key next Invalid 008
Decrypt key RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING next Invalid 009
Use key AES/GCM/NoPadding for decrypt Data next Invalid 010
Check Valid Json Data next Invalid 010
Check valid Key exist (HashedName) next Invalid 012
Parse License - JSON next Invalid 013

WIP

/home/clients/8c48b436badcd3a0bdaaba8c59a54bf1/wiki-web/data/pages/internal.backup/crm/generator_spec.txt · Last modified: 2024/05/17 15:35 (external edit)