A Python library to create TrueLicense license files.
TrueLicense compatible license manager for Python
This package supports managing licenses one the format used by the Java package TrueLicense. Only the version 1 format is supported.
Please see the TrueLicense home page for an exhaustive reference of the license format, or Quick license format description below.
Quick license format description
A license has a validity window in time, an issuer, a holder and various meta data.
It is signed by the holder, and the signature can be verified using the issuer certificate.
The license file is also encrypted with a key derived from a password.
Quick library reference
The main class exported by truepy is truepy.License.
- To generate a new license, use the class method truepy.License.issue.
- To load a license from a file or stream, use the class method truepy.License.load.
- To save a license to a file or stream, use the method truepy.License.store.
- To verify the siganture of a license, use the method truepy.License.verify.
- To read license information, use the truepy.License.license_data attribute; this is of the type truepy.LicenseData.
Loading and storing licenses requires only the license password; these operations do not perform signing and signature verification.
Issuing a new license requires the private key of the issuer certificate.
Verifying a license signature requires the issuer certificate.
Quick application reference
Please run the application with python -m truepy -h for more information.
2.0.1 - Corrected documentation
- Changed declared type of parameter to License.issue.
2.0 - No dependency on OpenSSL
Changed certificate and signature verification routines to use cryptography instead of pyOpenSSL.
This changes all methods that take a certificate or a key as parameter.
1.0.1 - License Data Bugfix
- Changed truepy.LicenseData.information to info to be compatible with TrueLicense.
1.0 - Initial Release
- Support for basic license operations for TrueLicense version 1 licenses