@echo off echo ========================================================= echo MYP SSL BROWSER-KOMPATIBILITAETS-FIX echo Loest ERR_SSL_KEY_USAGE_INCOMPATIBLE Fehler echo ========================================================= echo. REM Pruefe ob SSL-Verzeichnis existiert if not exist "ssl" ( echo Erstelle SSL-Verzeichnis... mkdir ssl ) REM Losche alte Zertifikate if exist "ssl\cert.pem" ( echo Erstelle Backup der alten Zertifikate... if not exist "ssl\backup" mkdir ssl\backup copy "ssl\cert.pem" "ssl\backup\cert_backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%.pem" >nul 2>&1 copy "ssl\key.pem" "ssl\backup\key_backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%.pem" >nul 2>&1 echo Backup erstellt. ) REM Pruefe ob OpenSSL verfuegbar ist openssl version >nul 2>&1 if errorlevel 1 ( echo. echo FEHLER: OpenSSL ist nicht installiert oder nicht im PATH! echo. echo Bitte installiere OpenSSL: echo 1. Lade OpenSSL fuer Windows herunter: https://slproweb.com/products/Win32OpenSSL.html echo 2. Oder verwende das bestehende SSL-Modul mit Python echo. echo Alternative: Verwende das Python-basierte SSL-Fix Tool: echo python -c "from utils.ssl_config import ensure_ssl_certificates; ensure_ssl_certificates('.', True)" echo. pause exit /b 1 ) echo OpenSSL gefunden. Generiere browser-kompatible SSL-Zertifikate... echo. REM Erstelle browser-kompatible OpenSSL-Konfiguration echo [req] > ssl\openssl_browser_fix.conf echo distinguished_name = req_distinguished_name >> ssl\openssl_browser_fix.conf echo req_extensions = v3_req >> ssl\openssl_browser_fix.conf echo prompt = no >> ssl\openssl_browser_fix.conf echo. >> ssl\openssl_browser_fix.conf echo [req_distinguished_name] >> ssl\openssl_browser_fix.conf echo C = DE >> ssl\openssl_browser_fix.conf echo ST = Baden-Wuerttemberg >> ssl\openssl_browser_fix.conf echo L = Stuttgart >> ssl\openssl_browser_fix.conf echo O = Mercedes-Benz AG >> ssl\openssl_browser_fix.conf echo OU = MYP Druckerverwaltung >> ssl\openssl_browser_fix.conf echo CN = m040tbaraspi001 >> ssl\openssl_browser_fix.conf echo. >> ssl\openssl_browser_fix.conf echo [v3_req] >> ssl\openssl_browser_fix.conf echo basicConstraints = critical, CA:FALSE >> ssl\openssl_browser_fix.conf echo keyUsage = critical, digitalSignature, keyEncipherment, keyAgreement >> ssl\openssl_browser_fix.conf echo extendedKeyUsage = critical, serverAuth, clientAuth >> ssl\openssl_browser_fix.conf echo subjectAltName = critical, @alt_names >> ssl\openssl_browser_fix.conf echo nsCertType = server >> ssl\openssl_browser_fix.conf echo nsComment = "MYP SSL Fix - ERR_SSL_KEY_USAGE_INCOMPATIBLE Loesung" >> ssl\openssl_browser_fix.conf echo. >> ssl\openssl_browser_fix.conf echo [alt_names] >> ssl\openssl_browser_fix.conf echo DNS.1 = localhost >> ssl\openssl_browser_fix.conf echo DNS.2 = *.localhost >> ssl\openssl_browser_fix.conf echo DNS.3 = m040tbaraspi001 >> ssl\openssl_browser_fix.conf echo DNS.4 = m040tbaraspi001.local >> ssl\openssl_browser_fix.conf echo DNS.5 = m040tbaraspi001.de040.corpintra.net >> ssl\openssl_browser_fix.conf echo DNS.6 = *.de040.corpintra.net >> ssl\openssl_browser_fix.conf echo IP.1 = 127.0.0.1 >> ssl\openssl_browser_fix.conf echo IP.2 = ::1 >> ssl\openssl_browser_fix.conf echo IP.3 = 0.0.0.0 >> ssl\openssl_browser_fix.conf echo OpenSSL-Konfiguration erstellt. REM Generiere Private Key echo Generiere Private Key (RSA 2048)... openssl genrsa -out ssl\key.pem 2048 if errorlevel 1 ( echo FEHLER: Private Key Generierung fehlgeschlagen! pause exit /b 1 ) echo Private Key generiert. REM Generiere browser-kompatibles Zertifikat echo Generiere browser-kompatibles Zertifikat... openssl req -new -x509 -key ssl\key.pem -out ssl\cert.pem -days 365 -config ssl\openssl_browser_fix.conf -extensions v3_req -sha256 if errorlevel 1 ( echo FEHLER: Zertifikat-Generierung fehlgeschlagen! pause exit /b 1 ) echo Browser-kompatibles Zertifikat generiert. REM Aufraumen del ssl\openssl_browser_fix.conf >nul 2>&1 REM Validierung echo. echo ========================================================= echo BROWSER-KOMPATIBILITAETS-VALIDIERUNG echo ========================================================= echo Pruefe Zertifikat-Extensions... openssl x509 -in ssl\cert.pem -noout -text | findstr /C:"Digital Signature" /C:"Key Encipherment" /C:"TLS Web Server Authentication" /C:"Subject Alternative Name" /C:"CA:FALSE" echo. echo ========================================================= echo SSL-FIX ERFOLGREICH ABGESCHLOSSEN! echo ========================================================= echo. echo Naechste Schritte: echo 1. Browser-Cache vollstaendig leeren: echo - Chrome/Edge: Strg+Shift+Del, "Gesamte Zeit", alle Optionen echo - Firefox: Strg+Shift+Del, "Alles" auswaehlen echo. echo 2. MYP-Anwendung neu starten echo. echo 3. https://localhost:5000 aufrufen echo. echo 4. Bei SSL-Warnung: "Erweitert" - "Weiter zu localhost (unsicher)" echo. echo Der Fehler ERR_SSL_KEY_USAGE_INCOMPATIBLE sollte behoben sein! echo. echo Zertifikat gespeichert in: ssl\cert.pem echo Private Key gespeichert in: ssl\key.pem echo. pause