TLS kütüphaneleri

curl'ün HTTPS, FTPS, SMTPS, POP3S, IMAPS ve daha fazlası gibi TLS tabanlı protokolleri desteklemesini sağlamak için, curl TLS protokolünü kendisi uygulamadığından, üçüncü taraf bir TLS kütüphanesi ile derlemeniz gerekir.

curl, çok sayıda TLS kütüphanesi ile çalışmak üzere yazılmıştır:

  • AmiSSL
  • AWS-LC
  • BearSSL
  • BoringSSL
  • GnuTLS
  • libressl
  • mbedTLS
  • OpenSSL
  • rustls
  • Schannel (yerel Windows)
  • Secure Transport (yerel macOS)
  • WolfSSL

curl ve libcurl'ü bu kütüphanelerden birini kullanacak şekilde derlediğinizde, kütüphanenin ve include başlıklarının derleme makinenizde kurulu olması önemlidir.

configure

Aşağıda, configure'a farklı kütüphaneleri kullanmasını nasıl söyleyeceğinizi öğrenirsiniz. Configure betiği varsayılan olarak herhangi bir TLS kütüphanesi seçmez. Bir tane seçmelisiniz veya --without-ssl kullanarak configure'a TLS desteği olmadan derlemek istediğinizi belirtmelisiniz.

OpenSSL, BoringSSL, libressl

./configure --with-openssl

configure varsayılan olarak OpenSSL'i varsayılan yolunda algılar. İsteğe bağlı olarak configure'a OpenSSL'i bulabileceği özel bir kurulum yolu öneki gösterebilirsiniz:

./configure --with-openssl=/home/user/installed/openssl

Alternatifler BoringSSL ve libressl, configure'un onları OpenSSL ile aynı şekilde algılayacağı kadar benzer görünür. Daha sonra belirli türlerden hangisini kullandığını anlamak için ek önlemler kullanır.

GnuTLS

./configure --with-gnutls

configure varsayılan olarak GnuTLS'i varsayılan yolunda algılar. İsteğe bağlı olarak configure'a gnutls'i bulabileceği özel bir kurulum yolu öneki gösterebilirsiniz:

./configure --with-gnutls=/home/user/installed/gnutls

WolfSSL

./configure --with-wolfssl

configure varsayılan olarak WolfSSL'i varsayılan yolunda algılar. İsteğe bağlı olarak configure'a WolfSSL'i bulabileceği özel bir kurulum yolu öneki gösterebilirsiniz:

./configure --with-wolfssl=/home/user/installed/wolfssl

mbedTLS

./configure --with-mbedtls

configure varsayılan olarak mbedTLS'i varsayılan yolunda algılar. İsteğe bağlı olarak configure'a mbedTLS'i bulabileceği özel bir kurulum yolu öneki gösterebilirsiniz:

./configure --with-mbedtls=/home/user/installed/mbedtls

Secure Transport

./configure --with-secure-transport

configure varsayılan olarak Secure Transport'u varsayılan yolunda algılar. İsteğe bağlı olarak configure'a Secure Transport'u bulabileceği özel bir kurulum yolu öneki gösterebilirsiniz:

./configure --with-secure-transport=/home/user/installed/darwinssl

Schannel

./configure --with-schannel

configure varsayılan olarak Schannel'i varsayılan yolunda algılar.

(WinSSL daha önce Schannel için alternatif bir isimdi ve önceki curl sürümleri bunun yerine --with-winssl gerektiriyordu)

BearSSL

./configure --with-bearssl

configure varsayılan olarak BearSSL'i varsayılan yolunda algılar. İsteğe bağlı olarak configure'a BearSSL'i bulabileceği özel bir kurulum yolu öneki gösterebilirsiniz:

./configure --with-bearssl=/home/user/installed/bearssl

Rustls

./configure --with-rustls

rustls kullanması söylendiğinde, curl aslında rustls kütüphanesi için C API'si olan rustls-ffi kütüphanesini bulmaya ve kullanmaya çalışır. configure varsayılan olarak rustls-ffi'yi varsayılan yolunda algılar. İsteğe bağlı olarak configure'a rustls-ffi'yi bulabileceği özel bir kurulum yolu öneki gösterebilirsiniz:

./configure --with-rustls=/home/user/installed/rustls-ffi