====== 1. Preparation ======
Before you can compile OpenSSL, some tools need to be installed.
----
===== What do I need? =====
^ Tool ^ For what? ^ Required? ^
| Visual Studio 2022 | C/C++ Compiler | **Yes** |
| Strawberry Perl | Configuration scripts | **Yes** |
| NASM | Assembly optimizations | Recommended |
| Git | Download source code | **Yes** |
| Windows SDK | Header files | **Yes** (usually included with VS) |
----
===== Quick Installation =====
**For the impatient:** These three commands install everything you need:
# Visual Studio 2022 Community (free)
winget install Microsoft.VisualStudio.2022.Community
# Perl for build scripts
winget install StrawberryPerl.StrawberryPerl
# NASM for faster cryptography
winget install NASM.NASM
After installation: **Restart computer** so all paths are set!
----
===== Detailed Guides =====
* [[.:windows-tools|Install Windows Tools]] - Step by step
* [[.:wsl-einrichten|Set up WSL2]] - For Linux builds on Windows
* [[.:emscripten|Emscripten SDK]] - For WASM/Blazor builds
----
===== Verification =====
After installation you can check if everything works:
# 1. Load Visual Studio environment
& "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
# 2. Check C compiler
cl
# Expected output: Microsoft (R) C/C++ Optimizing Compiler Version 19.xx
# 3. Check Perl
perl -v
# Expected output: This is perl 5, version xx
# 4. Check NASM (optional)
nasm -v
# Expected output: NASM version 2.xx
----
===== Frequently Asked Questions =====
**Q: Do I need Visual Studio Professional/Enterprise?**
No! Visual Studio **Community** is free and sufficient.
**Q: Can I use a different C compiler?**
Theoretically yes (MinGW, Clang), but the Microsoft compiler is best tested for Windows.
**Q: What is NASM and do I really need it?**
NASM is an assembler. OpenSSL has hand-optimized assembly routines for AES, SHA, etc. Without NASM, slower C implementations are used. For production builds: **Install NASM!**
----
===== Continue to =====
* [[.:windows-tools|Install Windows Tools in Detail]]
* [[.:quellen:start|2. Download Sources]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//