51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
# Open Autonomous Connection Protocol
|
|
|
|
This is the Protocol for our Open Autonomous Connection project.<br />
|
|
You can easily implement this Protocol via Maven.<br />
|
|
Feel free to join our Discord.
|
|
<br />
|
|
|
|
## License Notice
|
|
|
|
This project (OAC) is licensed under the [Open Autonomous Public License (OAPL)](https://repo.open-autonomous-connection.org/open-autonomous-connection/OAPL/).
|
|
|
|
**Third-party components:**
|
|
- *UnlegitLibrary* is authored by the same copyright holder and is used here under a special agreement:
|
|
While [UnlegitLibrary](https://repo.unlegitdqrk.dev/UnlegitDqrk/unlegitlibrary/) is generally distributed under the [GNU GPLv3](https://repo.unlegitdqrk.dev/UnlegitDqrk/unlegitlibrary/src/branch/master/LICENSE),
|
|
it is additionally licensed under OAPL **exclusively for the OAC project**.
|
|
Therefore, within OAC, the OAPL terms apply to UnlegitLibrary as well.
|
|
|
|
# Bugs/Problems
|
|
# In progress
|
|
# TODO
|
|
|
|
## Certificate generation for NetworkSystem
|
|
### Creating Root-CA:
|
|
````
|
|
openssl genrsa -out myCA.key 4096
|
|
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 3650 -out myCA.pem
|
|
|
|
myCA.key = private Key for CA (keep secret)
|
|
myCA.pem = public Root-Certificate for signing server and client certificates
|
|
````
|
|
### Creating (DNS-/Web-)Server Certificate based on Root-CA:
|
|
````
|
|
openssl genrsa -out server.key 2048
|
|
openssl req -new -key server.key -out server.csr
|
|
openssl x509 -req -in server.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out server.crt -days 825 -sha256
|
|
|
|
server.key = private Key for Server
|
|
server.crt = Server-Certificate signed by Root-CA
|
|
````
|
|
### Optional: Creating Client Certificate based on Root-CA:
|
|
````
|
|
openssl genrsa -out client.key 2048
|
|
openssl req -new -key client.key -out client.csr
|
|
openssl x509 -req -in client.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out client.crt -days 825 -sha256
|
|
|
|
client.key = private Key for Client
|
|
client.crt = Client-Certificate signed by Root-CA
|
|
````
|
|
|
|
> [!NOTE]
|
|
> All certificate registrars require the Root CA to issue a server/client certificate |