nls/README.md
2025-04-14 20:39:31 +02:00

57 lines
2.5 KiB
Markdown

# 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