PHP'nin OpenSSL desteğini kullanmak için PHP'yi --with-openssl[=DiZiN] seçeneği ile derlemelisiniz.
OpenSSL kütüphanesi çalışma anındaki normal işlemler için ek gereksinimlere sahiptir. En önemlisi, OpenSSL'in, rasgele veya yarı rasgele bir sayı üretecine erişebilmesi gerekir; çoğu Unix ve Unix benzeri (Linux dahil) platform için bu /dev/urandom
veya /dev/random
aygıtına erişebilmek anlamına gelir.
PHP'nin sabit kodlanmış bir öntanımlı yerine sistem şifre listesini kullanmasını sağlayan --with-system-ciphers yapılandırma seçeneği mevcuttur.
Bilginize: Win32 kullanıcıları için
Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: libeay32.dll veya OpenSSL 1.1 itibariyle libcrypto-*.dll
Anahtar üretim ve sertifika imzalama işlevlerini kullanmayı düşünüyorsanız sisteminizde ek olarak geçerli bir openssl.cnf kurulu olmalıdır. Win32 çalıştırılabilir paketlerine örnek bir yapılandırma dosyası eklenmekte ve bu dosya extras/ssl dizinine konmaktadır.
PHP openssl.cnf dosyasını şu mantıksal sırayla araştırır:
Kurulum sırasında yapılandırma dosyasının öntanımlı yere mi kurulacağına yoksa başka bir yere kurup yerini ortam değişkenlerini kullanarak mı belirtileceğine karar verilmelidir. Bir yapılandırma dosyası gerektiren işlevlerdeki
OPENSSL_CONF
ortam değişkeni varsa, değişkenin değeri yapılandırma dosyasının yolu olarak (dosya ismi dahil) kullanılır.SSLEAY_CONF
ortam değişkeni varsa, değişkenin değeri yapılandırma dosyasının yolu olarak (dosya ismi dahil) kullanılır.- openssl.cnf dosyasının öntanımlı sertifika alanında bulunduğu varsayılır (openssl DLL'i derlenirken böyle yapılandırılır). Yani, dosyanın öntanımlı yeri: C:\Program Files\Common Files\SSL\openssl.cnf (x64) veya C:\Program Files (x86)\Common Files\SSL\openssl.cnf (x86) ya da PHP 7.4.0 öncesinde C:\usr\local\ssl\openssl.cnf.
seçenekler
bağımsız değişkenini kullanarak dosyanın öntanımlı yeri geçersiz kılınabilir.DikkatYetkisiz kullanıcıların openssl.cnf dosyasını değiştirmelerine izin verilmediğinden emin olunmalıdır.
Sürüm: | Açıklama |
---|---|
7.4.0 | OpenSSL öntanımlı yapılandırma dosyasının yeri C:\usr\local\ssl iken artık sırayla şuralarda aranmaktadır: C:\Program Files\Common Files\SSL ve C:\Program Files (x86)\Common Files\SSL. |