geändert: README.md

neue Datei:     client/client.py
	neue Datei:     client/sec/client.crt.pem
	neue Datei:     client/sec/client.csr.pem
	neue Datei:     client/sec/client.key.pem
	neue Datei:     container/Dockerfile
	neue Datei:     container/requirements.txt
	neue Datei:     lib/__pycache__/crypto_utils.cpython-313.pyc
	neue Datei:     lib/__pycache__/jebp_utils.cpython-313.pyc
	neue Datei:     lib/__pycache__/terminal_table.cpython-313.pyc
	neue Datei:     lib/crypto_utils.py
	neue Datei:     lib/jebp_utils.py
	neue Datei:     lib/terminal_table.py
	neue Datei:     server/clients_management/chclient.py
	neue Datei:     server/clients_management/lsclients.py
	neue Datei:     server/clients_management/mkclient.py
	neue Datei:     server/clients_management/rmclient.py
	neue Datei:     server/config/clients/fingerprints
	neue Datei:     server/main.py
	neue Datei:     server/sec/ca/certs/ca.cert.pem
	neue Datei:     server/sec/ca/private/ca.key.pem
	neue Datei:     server/sec/server.crt.pem
	neue Datei:     server/sec/server.csr.pem
	neue Datei:     server/sec/server.key.pem
	gelöscht:       main.py
	gelöscht:       sec/cert.pem
	gelöscht:       sec/key.pem
This commit is contained in:
2025-12-30 01:43:23 +01:00
parent f9e7d51015
commit 1ac4aefdc8
24 changed files with 676 additions and 1 deletions
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env python3
import dbm
import sys
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
import hashlib
if len(sys.argv) < 2:
print(f'{sys.argv[0]}: missing key hash')
sys.exit(1)
with dbm.open('server/config/clients/fingerprints', 'c') as db:
if bytes.fromhex(sys.argv[1]) not in db.keys():
print(f'{sys.argv[0]}: hash not registered')
sys.exit(1)
db[bytes.fromhex(sys.argv[1])] = input('New common name: ')
db.close()
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env python3
import sys
import os
sys.path.append(os.getcwd())
import dbm
from lib.terminal_table import ascii_table
with dbm.open('server/config/clients/fingerprints', 'c') as db:
print(ascii_table([{
'Key Hash': k.hex(),
'Common name': v.decode()
} for k, v in db.items()], ))
db.close()
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env python3
import dbm
import sys
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization
import hashlib
if len(sys.argv) < 2:
print(f'{sys.argv[0]}: missing common name')
sys.exit(1)
try:
cert = x509.load_pem_x509_certificate(sys.stdin.buffer.read(), default_backend())
except:
print(f'{sys.argv[0]}: invalid certificate')
sys.exit(1)
with dbm.open('server/config/clients/fingerprints', 'c') as db:
db[hashlib.sha256(cert.public_key().public_bytes(encoding=serialization.Encoding.DER, format=serialization.PublicFormat.SubjectPublicKeyInfo)).digest()] = sys.argv[1]
db.close()
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env python3
import sys
import os
sys.path.append(os.getcwd())
import dbm
from lib.terminal_table import ascii_table
if len(sys.argv) < 2:
print(f'{sys.argv[0]}: missing key hash')
sys.exit(1)
with dbm.open('server/config/clients/fingerprints', 'c') as db:
try:
del db[bytes.fromhex(sys.argv[1])]
except:
print(f'{sys.argv[0]}: hash not registered')
sys.exit(1)
db.close()