🎉 Hinzugefügt: Skript zur Generierung browser-kompatibler SSL-Zertifikate mit umfassender Fehlerbehandlung und Validierung. 🔒✨
This commit is contained in:
@@ -1 +1,131 @@
|
||||
|
||||
@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
|
||||
Reference in New Issue
Block a user