Es scheint, dass es sich um eine Versionskontrolle handelt, möglicherweise mit einem Git-Repository. Hier sind die wichtigsten Dateien und Veränderungen, die in diesem Commit enthalten sein könnten:
This commit is contained in:
60
backend/utils/ssl_manager.py
Normal file
60
backend/utils/ssl_manager.py
Normal file
@@ -0,0 +1,60 @@
|
||||
"""
|
||||
SSL-Manager für Mercedes-Benz MYP Platform
|
||||
Erstellt selbstsignierte SSL-Zertifikate für Entwicklung
|
||||
"""
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
from datetime import datetime
|
||||
from utils.logging_config import get_logger
|
||||
|
||||
logger = get_logger("ssl_manager")
|
||||
|
||||
class SSLManager:
|
||||
"""Verwaltet SSL-Zertifikate für die MYP Platform"""
|
||||
|
||||
def __init__(self):
|
||||
self.cert_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), "certs")
|
||||
self.cert_path = os.path.join(self.cert_dir, "myp.crt")
|
||||
self.key_path = os.path.join(self.cert_dir, "myp.key")
|
||||
|
||||
def generate_mercedes_certificate(self) -> bool:
|
||||
"""
|
||||
Erstellt ein selbstsigniertes SSL-Zertifikat für Mercedes-Benz.
|
||||
|
||||
Returns:
|
||||
bool: True wenn erfolgreich, False bei Fehler
|
||||
"""
|
||||
try:
|
||||
# Stelle sicher, dass das Zertifikatsverzeichnis existiert
|
||||
os.makedirs(self.cert_dir, exist_ok=True)
|
||||
|
||||
# OpenSSL-Befehl für selbstsigniertes Zertifikat
|
||||
cmd = [
|
||||
"openssl", "req", "-x509", "-newkey", "rsa:4096",
|
||||
"-keyout", self.key_path,
|
||||
"-out", self.cert_path,
|
||||
"-days", "365",
|
||||
"-nodes",
|
||||
"-subj", "/C=DE/ST=Baden-Wuerttemberg/L=Stuttgart/O=Mercedes-Benz Group AG/OU=MYP Development/CN=localhost"
|
||||
]
|
||||
|
||||
# Führe OpenSSL-Befehl aus
|
||||
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||
|
||||
if result.returncode == 0:
|
||||
logger.info(f"✅ SSL-Zertifikat erfolgreich erstellt: {self.cert_path}")
|
||||
return True
|
||||
else:
|
||||
logger.error(f"❌ Fehler beim Erstellen des SSL-Zertifikats: {result.stderr}")
|
||||
return False
|
||||
|
||||
except FileNotFoundError:
|
||||
logger.error("❌ OpenSSL nicht gefunden. Bitte OpenSSL installieren.")
|
||||
return False
|
||||
except Exception as e:
|
||||
logger.error(f"❌ Unerwarteter Fehler beim Erstellen des SSL-Zertifikats: {str(e)}")
|
||||
return False
|
||||
|
||||
# Globale Instanz
|
||||
ssl_manager = SSLManager()
|
Reference in New Issue
Block a user