====== 2.1 GitHub Repository klonen ====== Diese Seite erklärt, wie Sie den OpenSSL Quellcode von GitHub herunterladen. ---- ===== Was ist Git? ===== **Git** ist ein Versionskontrollsystem. Es speichert: * Alle Versionen eines Projekts * Wer was wann geändert hat * "Tags" für wichtige Versionen (z.B. v3.6.0) **GitHub** ist eine Website, die Git-Repositories hostet. ---- ===== Projektstruktur vorbereiten ===== Zuerst erstellen wir eine sinnvolle Ordnerstruktur: # Hauptordner erstellen mkdir D:\Projects\openssl-3.6.0 # Unterordner erstellen mkdir D:\Projects\openssl-3.6.0\src # Hier kommt der Quellcode mkdir D:\Projects\openssl-3.6.0\bin # Hier kommen die kompilierten Dateien Ergebnis: D:\Projects\openssl-3.6.0\ ├── src\ # OpenSSL Quellcode (von GitHub) └── bin\ # Ziel für kompilierte Binaries ---- ===== OpenSSL klonen ===== ==== Option A: Nur Tag v3.6.0 (empfohlen) ==== cd D:\Projects\openssl-3.6.0 git clone --depth 1 --branch openssl-3.6.0 https://github.com/openssl/openssl.git src **Erklärung der Parameter:** | Parameter | Bedeutung | |-----------|-----------| | ''--depth 1'' | Nur die neueste Version (spart ~500 MB!) | | ''--branch openssl-3.6.0'' | Der Tag für Version 3.6.0 | | ''src'' | Zielordner | ==== Option B: Komplettes Repository ==== Falls Sie verschiedene Versionen ausprobieren möchten: cd D:\Projects\openssl-3.6.0 git clone https://github.com/openssl/openssl.git src cd src git checkout openssl-3.6.0 Das komplette Repository ist ca. 500 MB groß. Mit ''--depth 1'' nur ~50 MB. ---- ===== Verfügbare Tags auflisten ===== Falls Sie eine andere Version benötigen: cd D:\Projects\openssl-3.6.0\src # Alle Tags anzeigen git tag | Select-String "openssl-3" # Ausgabe (Beispiel): # openssl-3.0.0 # openssl-3.0.1 # ... # openssl-3.5.0 # openssl-3.6.0 ---- ===== Auf anderen Tag wechseln ===== cd D:\Projects\openssl-3.6.0\src # Auf andere Version wechseln git checkout openssl-3.5.0 # Zurück zu 3.6.0 git checkout openssl-3.6.0 ---- ===== Version überprüfen ===== cd D:\Projects\openssl-3.6.0\src # Aktuellen Tag anzeigen git describe --tags # Erwartete Ausgabe: openssl-3.6.0 # Oder: Zeige Commit-Info git log -1 --oneline ---- ===== Quellcode aktualisieren ===== Falls Sie das komplette Repository haben und aktualisieren möchten: cd D:\Projects\openssl-3.6.0\src # Neueste Änderungen holen git fetch --all --tags # Neue Tags anzeigen git tag | Select-String "openssl-3.6" # Auf neuen Tag wechseln (z.B. 3.6.1) git checkout openssl-3.6.1 ---- ===== Häufige Probleme ===== ==== "git wird nicht erkannt" ==== Git ist nicht installiert oder nicht im PATH: winget install Git.Git Nach Installation: Neues Terminal öffnen. ==== Firewall blockiert GitHub ==== Falls Sie hinter einer Unternehmens-Firewall sind: # Proxy setzen (falls nötig) git config --global http.proxy http://proxy.firma.de:8080 git config --global https.proxy http://proxy.firma.de:8080 ==== SSL-Zertifikatfehler ==== # Temporär: SSL-Prüfung deaktivieren (nicht für Produktion!) git config --global http.sslVerify false ---- ===== Download ohne Git (Alternative) ===== Falls Git nicht verfügbar ist: - Gehen Sie zu [[https://github.com/openssl/openssl/releases]] - Wählen Sie Version 3.6.0 - Laden Sie "Source code (zip)" herunter - Entpacken Sie nach ''D:\Projects\openssl-3.6.0\src'' **Nachteil:** Keine einfache Aktualisierung möglich! ---- ===== Weiter zu ===== * [[.:build:start|3. Build - Kompilieren]] * [[.:quellen:verzeichnisstruktur|Verzeichnisstruktur verstehen]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//