chore: Änderungen commited

This commit is contained in:
2025-06-16 07:28:44 +02:00
parent 0069f7ba83
commit 5a95dc37b8
19 changed files with 806 additions and 0 deletions

View File

@ -39,6 +39,9 @@ test_installation() {
# Security-Tests
test_security
# Mercedes-Zertifikat-Tests
test_mercedes_certificates
# Performance-Tests
test_performance
@ -618,6 +621,118 @@ test_performance() {
fi
}
test_mercedes_certificates() {
log "INFO" "=== MERCEDES-ZERTIFIKAT-TESTS ==="
local test_errors=0
# Prüfe ob Mercedes-Zertifikat-Verzeichnis existiert
log "INFO" "Teste Mercedes-Zertifikat-Installation..."
if [[ -d "/usr/local/share/ca-certificates/mercedes" ]]; then
local cert_count=$(find /usr/local/share/ca-certificates/mercedes -name "*.crt" | wc -l)
if [[ $cert_count -gt 0 ]]; then
log "INFO" "$cert_count Mercedes-Zertifikate installiert"
else
log "ERROR" "✗ Keine Mercedes-Zertifikate gefunden"
test_errors=$((test_errors + 1))
fi
else
log "WARN" "Mercedes-Zertifikat-Verzeichnis nicht gefunden (möglicherweise keine Zertifikate im Projekt)"
fi
# Prüfe System-CA-Store
log "INFO" "Teste System-CA-Store..."
if [[ -f "/etc/ssl/certs/ca-certificates.crt" ]]; then
log "INFO" "✓ System-CA-Store gefunden"
# Prüfe ob Mercedes-Zertifikate integriert sind
if grep -q "Daimler AG" /etc/ssl/certs/ca-certificates.crt 2>/dev/null; then
log "INFO" "✓ Mercedes-Zertifikate im CA-Store integriert"
else
log "WARN" "Mercedes-Zertifikate nicht im CA-Store gefunden"
fi
else
log "ERROR" "✗ System-CA-Store nicht gefunden"
test_errors=$((test_errors + 1))
fi
# Prüfe Python-Zertifikat-Konfiguration
log "INFO" "Teste Python-Zertifikat-Konfiguration..."
if [[ -f "/etc/myp/python-certs.conf" ]]; then
log "INFO" "✓ Python-Zertifikat-Konfiguration vorhanden"
# Teste Python SSL-Kontext
if python3 -c "import ssl; print('SSL-Kontext:', ssl.create_default_context())" >/dev/null 2>&1; then
log "INFO" "✓ Python SSL-Kontext funktioniert"
else
log "ERROR" "✗ Python SSL-Kontext fehlerhaft"
test_errors=$((test_errors + 1))
fi
else
log "WARN" "Python-Zertifikat-Konfiguration nicht gefunden"
fi
# Prüfe Node.js-Zertifikat-Konfiguration
log "INFO" "Teste Node.js-Zertifikat-Konfiguration..."
if [[ -f "/etc/myp/nodejs-certs.conf" ]]; then
log "INFO" "✓ Node.js-Zertifikat-Konfiguration vorhanden"
else
log "WARN" "Node.js-Zertifikat-Konfiguration nicht gefunden"
fi
# Prüfe Chromium-Zertifikat-Konfiguration
log "INFO" "Teste Chromium-Zertifikat-Konfiguration..."
if [[ -f "/etc/chromium/policies/managed/mercedes-certificates.json" ]]; then
log "INFO" "✓ Chromium-Zertifikat-Policy vorhanden"
else
log "WARN" "Chromium-Zertifikat-Policy nicht gefunden"
fi
# Teste NSS-Datenbank für Chromium
if [[ -d "/home/$PROJECT_USER/.pki/nssdb" ]]; then
log "INFO" "✓ Chromium NSS-Datenbank vorhanden"
# Prüfe Mercedes-Zertifikate in NSS
if command -v certutil >/dev/null 2>&1; then
local nss_cert_count=$(sudo -u "$PROJECT_USER" certutil -L -d sql:"/home/$PROJECT_USER/.pki/nssdb" 2>/dev/null | grep -c "Mercedes-" || echo "0")
if [[ $nss_cert_count -gt 0 ]]; then
log "INFO" "$nss_cert_count Mercedes-Zertifikate in NSS-Datenbank"
else
log "WARN" "Keine Mercedes-Zertifikate in NSS-Datenbank gefunden"
fi
fi
else
log "WARN" "Chromium NSS-Datenbank nicht gefunden"
fi
# Teste HTTPS-Verbindungen (falls Netzwerk verfügbar)
log "INFO" "Teste HTTPS-Verbindungen..."
if command -v curl >/dev/null 2>&1; then
# Test zu bekannter Mercedes-Domain
if curl -s --connect-timeout 5 --max-time 10 https://www.mercedes-benz.com >/dev/null 2>&1; then
log "INFO" "✓ HTTPS-Verbindung zu Mercedes-Domain erfolgreich"
else
log "WARN" "HTTPS-Verbindung zu Mercedes-Domain fehlgeschlagen (Netzwerk/Firewall)"
fi
# Test zu Standard-HTTPS-Site
if curl -s --connect-timeout 5 --max-time 10 https://www.google.com >/dev/null 2>&1; then
log "INFO" "✓ HTTPS-Verbindung zu Standard-Site erfolgreich"
else
log "WARN" "HTTPS-Verbindungen generell problematisch"
test_errors=$((test_errors + 1))
fi
fi
if [[ $test_errors -eq 0 ]]; then
log "INFO" "✓ Mercedes-Zertifikat-Tests bestanden"
return 0
else
log "ERROR" "✗ Mercedes-Zertifikat-Tests fehlgeschlagen ($test_errors Fehler)"
return 1
fi
}
test_integration() {
log "INFO" "=== INTEGRATION-TESTS ==="