/libcurl-devel

Unofficial libcurl development binaries

Primary LanguageCBSD Zero Clause License0BSD

Unofficial libcurl development binaries

License: 0BSD Latest Release Downloads

Webpage:

https://github.com/negrutiu/libcurl-devel

Features:

  • libcurl Windows binaries for x86 and amd64 architectures
  • OpenSSL and schannel as SSL backends
  • Built-in support for HTTP/2
  • Binaries built with Microsoft Visual Studio (Debug and Release configurations) and msys2/mingw
  • Package contents:
    • Configurations compatible with legacy Windows versions (e.g. mingw-openssl-Release-Win32-Legacy works well in Win NT4+)
    • Static and shared libraries for libcurl, openssl, nghttp2, zlib
    • Debugging files (*.pdb)
    • Test tools (curl.exe, openssl.exe)

Binary matrix:

Configuration Comments
mingw-curl_openssl-Release-Win32 Built with mingw. Static libraries. OpenSSL backend
mingw-curl_openssl-Release-Win32-HTTP_ONLY HTTP protocol only
mingw-curl_openssl-Release-Win32-Legacy HTTP protocol only. Backward compatible with legacy Windows versions (NT4+)
mingw-curl_openssl-Release-Win32-Shared Built with mingw. Shared libraries. OpenSSL backend
mingw-curl_openssl-Release-x64
mingw-curl_openssl-Release-x64-HTTP_ONLY
mingw-curl_openssl-Release-x64-Legacy HTTP protocol only. Backward compatible with legacy Windows versions (XP64+)
mingw-curl_openssl-Release-x64-Shared
mingw-curl_schannel-Release-Win32 Built with mingw. Static libraries. schannel (aka WinSSL) backend
mingw-curl_schannel-Release-Win32-HTTP_ONLY
mingw-curl_schannel-Release-Win32-Shared
mingw-curl_schannel-Release-x64
mingw-curl_schannel-Release-x64-HTTP_ONLY
mingw-curl_schannel-Release-x64-Shared
MSVC-curl_openssl-Debug-Win32 Built with Microsoft Visual Studio
MSVC-curl_openssl-Debug-Win32-HTTP_ONLY
MSVC-curl_openssl-Debug-Win32-Shared
MSVC-curl_openssl-Debug-x64
MSVC-curl_openssl-Debug-x64-HTTP_ONLY
MSVC-curl_openssl-Debug-x64-Shared
MSVC-curl_openssl-Release-Win32
MSVC-curl_openssl-Release-Win32-HTTP_ONLY
MSVC-curl_openssl-Release-Win32-Shared
MSVC-curl_openssl-Release-x64
MSVC-curl_openssl-Release-x64-HTTP_ONLY
MSVC-curl_openssl-Release-x64-Shared
MSVC-curl_schannel-Debug-Win32
MSVC-curl_schannel-Debug-Win32-HTTP_ONLY
MSVC-curl_schannel-Debug-Win32-Shared
MSVC-curl_schannel-Debug-x64
MSVC-curl_schannel-Debug-x64-HTTP_ONLY
MSVC-curl_schannel-Debug-x64-Shared
MSVC-curl_schannel-Release-Win32
MSVC-curl_schannel-Release-Win32-HTTP_ONLY
MSVC-curl_schannel-Release-Win32-Shared
MSVC-curl_schannel-Release-x64
MSVC-curl_schannel-Release-x64-HTTP_ONLY
MSVC-curl_schannel-Release-x64-Shared

OpenSSL vs. schannel (aka WinSSL):

Parameter Comments
File sizes schannel is a Windows native engine, OpenSSL is a 3rd party engine.
Binaries built on top of schannel are smaller.
Certificate store schannel uses the system certificate store (run certmgr.msc to view it) whereas
OpenSSL requires cacert.pem alongside your binaries, which adds another 200-300KB to your package...
Although schannel sounds better, older Windows versions (XP, Vista, Win7) stop receiving certificate store updates, so they quickly become unable to connect to modern HTTPS servers.
If your binaries are required to support older Windows versions, OpenSSL is your only choice here.
Protocols & Ciphers schannel has different capabilities depending on the Windows version (e.g. XP only supports TLS 1.0) (See this blog).
3rd party software can interfere with schannel (See this article).
OpenSSL supports all modern encryption including TLS1.3, HTTP/2, etc.

Licenses:

Project License
This project itself 0BSD
libcurl MIT/X inspired
OpenSSL Dual License
nghttp2 MIT
zlib zlib