# NLS - NVIDIA License System [TOC] # Contribute If you want to contribute, you can clone / fork this repo. *My current work* is mentioned in [doc/README.md](doc/README.md). - **What can I do?** \ *Search für `todo` and try to figure out whats going on that some of our tests fail.* - **How can I debug my own DLS instance?** \ *Follow [doc/DockerSetup.md](doc/NLS_DockerSetup), maybe see [Official Docs](#official-docs).* - **How can I let you know when I have found something out?** \ *Create an Issue / Pull-Request or write me on Discord.* - **Can I ask you something, about how something works or how I get specific details from my DLS instance??** \ *Sure, DM me on Discord or create an Issue.* # About this project There maybe are Public/Private-Keys present in this repo. That is ok, because they belong to an single instance which are reset after we know how licensing process is working. *This repository has a public git mirror on: https://gitea.publichub.eu/nvidia/nls* # Docs > Current status: We're searching for a method to decrypt the Private-Key > stored in [`DLS_SI_CERTIFICATE`](doc/database/3-after-upload-license/si_d8c07e4af6a449d0b2dc3faf0e1bf2bd.configuration.json). > Maybe this is our "Key" to sign `config-tokens`. \* Docs and current knowledge can be found in [doc's directory](doc/README.md). \* If this is successful, we can try to find a way around this. **I think** we have to completely rebuild the [LicensingFlow](doc/NLS_LicensingFlow) on our own, to generate a InstanceToken, exchange with Nvidia, upload the License to **our** instance, and with the included certificate and keypair we can fake our licenses. # Official Docs - https://docs.nvidia.com/license-system/latest/index.html - https://docs.nvidia.com/license-system/latest/nvidia-license-system-user-guide/index.html # Code There is test code available in [src/test](src/test). These tests should rebuild the DLS behaviour and try to rebuild the expected output based on [docs](doc/README.md). - The test [`test_our_config_token`](src/test/test_config_token.py) currently fails, because we do not yet have a correct private-key - The test [`test_decrypt`](src/test/test_decrypt.py) currently fails, because we do not know the right de/encryption algorithms - The test [`test_dls_instance_token`](src/test/test_dls_instance_token.py) currently fails, because we do not know how this is build - The test [`test_license`](src/test/test_license.py) currently fails, because we do not know how this is decrypted