Overview
Basic Concepts
Quick Start
Domain Management
Origin Settings
Media Processing
Before You Start
How to Use
Transcoding
Transmuxing
Video Encryption
Intelligent Transcoding
Editing
Appendix
HMAC-SHA1 Example
Authentication Example
RSA Private Key Example
Cache Settings
Cache Purge and Prefetch
HTTP/HTTPS Settings
Access Control
Advanced Settings
Logs and Reports
Tutorials
Content Protection

RSA Private Key Example

Last update:2024-01-05 11:00:28

Let’s assume that you already have an RSA public key and a private key, designated as pub.key and private.key respectively. The subsequent Python code will read the ‘private.key’ file and will output an encoded string representing your private key value.

import sys
import base64

def encode_key_to_base64(private_key_file):
    # The private key file is read
    with open(private_key_file, 'rb') as file:
        private_key = file.read()

    # The private key's content is converted into a Base64 encoded string
    return base64.b64encode(private_key).decode()

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python script.py <path_to_private_key>")
        sys.exit(1)

    private_key_file = sys.argv[1]
    encoded_key = encode_key_to_base64(private_key_file)
    print(encoded_key)

Save the preceding code as a Python file, for instance, gen_hlssk.py. Execute it using the following command:

python gen_hlssk.py private.key

Afterwards, you will obtain the encoded string of ‘private.key’, which might look like:

LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ1N3RzRlNHdvRlZXWGkKZVBrZHdGTXN0c3pyc3haMWU4blNhczF2M1JNYWZzSkhKTkpkQTlrQnlad2x6bkcySnR2d0YrS0dFYVFMNHlIbApGd3k5cG1WRER6MzVpb0phSEV3Q1Q1UGc2aVpPUFNlQXdaTmNyTUdNblMzNWhzOFVhNEhXY015SVFVKzNFS2gyCnZTNHBINW1WZHhNZFZDeFpuRVRuN2cvVmF5V0p3V0lWOHA0Z3VOa3BKb0NVZkZ5ZVE0YitINWsvcDZQaEFtUjMKUEg3dTRyOG92QnpJYmFmdGhvb1VlZ0VwWmNTYzlFU244b0FGWHBnYUFGcHBXeGExME5BSkh0SXVuNnVYZ0FuawpzalFFSlJrMGM3MFlhOGgxclB4OXlrcVorMTEycFJjMUdCQk00bDFxQ2Jrc2hObVVLazVsUTVDeEozeUZPaGZRCndYNkM5VXZ6QWdNQkFBRUNnZ0VBTWhPbklEUVNXZEtUMDAyN21Hcm1Gd2FEODlRblVFeS9DR1g0bDNrRmlVK0QKQlJyc0MrQ0J2eW5vZGtBMXJsWWhUQk1pY2VSNEtiUkdmekczMzhsMW1ZWU1mR2hHNWUvdEFnYmNxKzNLeDN6Mwp5MmlDM0NkNVhuM09UKzB3SWNRenlKU3lQcmFtdUkzZkpyR1VuR1RUbUZ6TE1ZRmxKdWo3M0hid2dUK3dUZ3FpCmJPaGlSREFUSThGZEVuS3FESTNiYkZQQVdMOHpoZW5meFpPSGRUSlNTM2dKN3g1ZjFYQTFyN2kxejlIakRvdHEKVlpscmluVHRoL0xjSXo5TnRHa0dyY3dVWXRiWFoxZGZualB3alFkWWZQNUtrZ3FDMUtveTVDWDAvb3Y5b0NCdgpoVVIybTRudW1DQmtxTjdLcGJjUmRQSm9uY05LMVl5RXpNVzJrZ3NobFFLQmdRRE01UHJySEhwR2c0YWFUUy8yCnRHdFBKck9TKzZibzhQSjdaZWVubjdyVXhvM3hhZ21yb0IraGpXTVVsaFVEQ0dBTE1xaU9ET29od1EwYmFyZVIKLytGNk85c29uUC9CK2JVbnFUYTNiUUVySEVublNNNkM2bEZ3OWFsbTlOT2U4L1I0UEwyRkw4SjFzNkxSN25TcQpnWThkQWZkR2FpdHJlTmpNUXdmRkw2YW1aUUtCZ1FDM1d1TzEzekVMVUdsVHJSS3YzQ3FPNngxcmpQcDF0Q0FyClNPU09DZVdpNEFiK0RaWTQ1UWdMTWtjN0pLUXp2b3p5QlliVTFVRk1qNDkzSVhIWC9oV0lsVzdvYTdidUhtZVYKMGozZEJhMEorMDYzcVRKUGJWSGF0VTZDc1YwbnEwbHNMUzFWZ3hvTjE3RE5wTGQ5bHRBL3M5U3RhSVUwQnZTcwpsU3FBOThGM2R3S0JnRDVySDFtU2tsbDY1ZjJKdUN2aTZMSHpLMCtDcEdWZ1NhNTM2K3R2eUozYll4Q0JhakxECmsvOUdNRUhzT3JoeXk3ZDlsa1czLzNlSzlUQStBWEJUMEYvSmJrbGdFcllJR1R6YzJ0TmtQSy9pYlUwdEsrUkwKOThWK3dUMmhKZnJOZk5OSVJjQVdQWnBYd0NsT0NIS05CNGtodVMvVlZpYm1hTDFKU2t1eTZZVFZBb0dBRGJzMAp5bTRJa2p4WFp2alRLWEJuajRSMEU1WGZPK2xkYjJCcUhXa0lWWVpKZjhVc3R0NFFHQ2FQeHhJYmFmU2ZRWkRBClpEZ0VSK09JYnZlR094TEFNaFplMC9FZEpnQUk2ZU53MXBpU09Pa2xJQVAveklyM1VsVzVwM2Y0N2Z1WjZBd0sKRlJsWVhpa0ZDS0dKVEZKN0RnbzlweTdvcXRqS2doSTV1S2JWU2trQ2dZRUF5VGtic21FYytyZHNVOGJsQmdZNApkVVdZSUNjN1FzcWZ5bXNGdEE0ZkQxcDFWb05yamoxNmpORTZ5NFg4NmVkOEY0aHU5RXZpWmkxRDJ6cE5uZHdPCjhoZkc4a05PUWk1b0dmNlYxTHpjREJZVTFRbHRHczhQUHllSjIrRFcza09KMzZTd0d3RjZrZ0p1bklVQ0lCL2wKUXNjdUx3WmlVMlRxcytBS0xDRU5QNnM9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
Is the content of this document helpful to you?
Yes
I have suggestion
Submitted successfully! Thank you very much for your feedback, we will continue to strive to do better!