Installation

Pour utiliser le support OpenSSL de PHP, vous devez aussi compiler PHP avec l'option de configuration --with-openssl[=DIR] .

La bibliothèque OpenSSL possède aussi des dépendances à l'exécution. Par exemple, OpenSSL a besoin d'accéder à un générateur de nombres pseudo-aléatoires; sur la plupart des plateformes Unix (incluant donc Linux), elle doit avoir accès au périphérique /dev/urandom ou /dev/random.

À partir de PHP 5.6.3, l'option de configuration --with-system-ciphers est disponible qui fait que PHP utilise la liste de chiffrement système au lieu des valeurs par défaut codé en dur.

Note: Note aux utilisateurs Win32

Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la F.A.Q intitulée "Comment ajouter mon dossier PHP à mon PATH Windows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : libeay32.dll, ou, à partir de OpenSSL 1.1, libcrypto-*.dll

De plus, si vous avez prévu d'utiliser les fonctions relatives à la génération de clés et aux certificats, vous devez installer un fichier openssl.cnf valide sur votre système. Un fichier de configuration de base est inclus dans les distributions de PHP pour win32 dans le dossier extras/openssl.

PHP va rechercher le fichier openssl.cnf suivant la tactique suivante :

  • La variable d'environnement OPENSSL_CONF, si elle est définie, sera utilisée comme chemin (comprenant le fichier) vers le fichier de configuration.
  • La variable d'environnement SSLEAY_CONF, si elle est définie, sera utilisée comme chemin (comprenant le fichier) vers le fichier de configuration.
  • Le fichier openssl.cnf sera supposé se trouver dans le dossier des certificats, tel que configuré lors de la compilation de la bibliothèque openssl. Cela signifie généralement c:\usr\local\ssl\openssl.cnf.

Dans votre installation, vous devrez décider si vous allez installer le fichier dans c:\usr\local\ssl\openssl.cnf ou si vous allez le faire ailleurs et configurer une variable d'environnement (possiblement par site virtuel). Notez qu'il est possible de remplacer le chemin par défaut en utilisant le paramètre configargs des fonctions qui requièrent un fichier de configuration.