131 lines
5.0 KiB
Batchfile
131 lines
5.0 KiB
Batchfile
@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 |