Inhaltsverzeichnis
2.1 Clone GitHub Repository
This page explains how to download OpenSSL source code from GitHub.
What is Git?
Git is a version control system. It stores:
- All versions of a project
- Who changed what and when
- „Tags“ for important versions (e.g. v3.6.0)
GitHub is a website that hosts Git repositories.
Prepare Project Structure
First we create a sensible folder structure:
# Create main folder mkdir D:\Projects\openssl-3.6.0 # Create subfolders mkdir D:\Projects\openssl-3.6.0\src # Source code goes here mkdir D:\Projects\openssl-3.6.0\bin # Compiled files go here
Result:
D:\Projects\openssl-3.6.0\ ├── src\ # OpenSSL source code (from GitHub) └── bin\ # Target for compiled binaries
Clone OpenSSL
Option A: Only tag v3.6.0 (recommended)
cd D:\Projects\openssl-3.6.0 git clone --depth 1 --branch openssl-3.6.0 https://github.com/openssl/openssl.git src
Explanation of parameters:
| Parameter | Meaning |
| ———– | ——— |
–depth 1 | Only latest version (saves ~500 MB!) |
–branch openssl-3.6.0 | The tag for version 3.6.0 |
src | Target folder |
Option B: Complete repository
If you want to try different versions:
cd D:\Projects\openssl-3.6.0 git clone https://github.com/openssl/openssl.git src cd src git checkout openssl-3.6.0
The complete repository is about 500 MB. With –depth 1 only ~50 MB.
List Available Tags
If you need a different version:
cd D:\Projects\openssl-3.6.0\src # Show all tags git tag | Select-String "openssl-3" # Output (example): # openssl-3.0.0 # openssl-3.0.1 # ... # openssl-3.5.0 # openssl-3.6.0
Switch to Another Tag
cd D:\Projects\openssl-3.6.0\src # Switch to another version git checkout openssl-3.5.0 # Back to 3.6.0 git checkout openssl-3.6.0
Verify Version
cd D:\Projects\openssl-3.6.0\src # Show current tag git describe --tags # Expected output: openssl-3.6.0 # Or: Show commit info git log -1 --oneline
Update Source Code
If you have the complete repository and want to update:
cd D:\Projects\openssl-3.6.0\src # Fetch latest changes git fetch --all --tags # Show new tags git tag | Select-String "openssl-3.6" # Switch to new tag (e.g. 3.6.1) git checkout openssl-3.6.1
Common Problems
"git is not recognized"
Git is not installed or not in PATH:
winget install Git.Git
After installation: Open new terminal.
Firewall blocks GitHub
If you're behind a corporate firewall:
# Set proxy (if needed) git config --global http.proxy http://proxy.company.com:8080 git config --global https.proxy http://proxy.company.com:8080
SSL Certificate Error
# Temporary: Disable SSL verification (not for production!) git config --global http.sslVerify false
Download without Git (Alternative)
If Git is not available:
- Select version 3.6.0
- Download „Source code (zip)“
- Extract to
D:\Projects\openssl-3.6.0\src
Disadvantage: No easy update possible!
Continue to
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: on 2026/01/29 at 09:17 PM