English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel PHP de base

Tutoriel PHP avancé

PHP & MySQL

Manuel de référence PHP

Fonctions OpenSSL PHP

Qu'est-ce qu'OpenSSL ?

OpenSSL est un module open source gratuit destiné à traiter les communications sur un réseau informatique. OpenSSL est un outil utilisé pour les protocoles de sécurité de couche de transport (TLS) et de couche de socket sécurisée (SSL).

Qu'est-ce qu'un certificat SSL ?

Les sites utilisent la couche de sécurité de socket (SSL). Le certificat SSL est responsable de protéger les données entre deux ordinateurs via le chiffrement. Les deux ordinateurs impliqués peuvent être un client et un serveur pour partager des données. Lorsque vous partagez des mots de passe, des détails de carte de crédit, des adresses domiciliaires, des numéros de sécurité sociale, etc., ces données doivent être protégées et le certificat SSL les protège. Le certificat SSL assure l'authentification des deux ordinateurs impliqués pour garantir une connexion sécurisée.

Installation OpenSSL dans PHP

Par défaut, le module OpenSSL est ajouté à PHP. Vous pouvez le supprimer en éditant le fichier php.ini.; extension = php_openssl.dllDébutUtilisez le point-virgule (;) pour les activer. Après cela, redémarrez Apache et vérifiez si les modifications ont été appliquées, puis enregistrez le code suivant en tant que .php et exécutez-le dans le navigateur.

<?php
   phpinfo();
?>
Vérifiez en cliquant sur 'Testez et voyez'‹/›

Vous devriez voir openssl activé dans votre navigateur, comme suit :

Configuration OpenSSL

openssl.cnf est le fichier de configuration, contenant toutes les configurations par défaut nécessaires au bon fonctionnement d'OpenSSL. Pour exécuter openssl, la première chose que php va essayer de trouver est ce fichier de configuration. Pour obtenir le même fichier, vous devez ajouter le dossier Php aux variables d'environnement.

Si vous êtes utilisateur de Windows, suivez les étapes suivantes pour configurer les variables d'environnement pour le dossier Php :

1.Cliquez avec le bouton droit sur 'Mon ordinateur', puis allez dans les propriétés.

2.Allez dans les paramètres système avancés.

3.Cliquez sur le bouton 'Variables d'environnement'.

4.Éditez les variables d'environnement, puis cliquez sur le bouton 'Éditer'.

5.Ajoutez maintenant le chemin d'accès au dossier Php à la fin. J'utilise XAMPP, et mon dossier Php est c:\xampp\php;.

6.Après avoir terminé, cliquez sur le bouton 'OK'.

7.Maintenant, ouvrez l'invite de commande et entrez la commande : openssl version -a。

C:\Windows\system32>openssl version -a
OpenSSL 1.0.2l  25 May 2017
built on: "reproducible build, date unspecified"
platform: "mingw"64
options: " bn(64,64) rc4(16x,int) des(idx,cisc,2,long) idea(int) blowfish(idx)
compiler: "x"86_64-w64-mingw32-gcc -I. -I.. -I../include  -D_WINDLL -DOPENSSL_PIC
-DOPENSSL_THREADS -D_MT -DDSO_WIN32 -static-libgcc -DL_ENDIAN -O3 -Wall -DWIN32_
LEAN_AND_MEAN -DUNICODE -D_UNICODE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DO
PENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSH
A512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
 -DECP_NISTZ256_ASM
OPENSSLDIR: "/etc/ssl"

Maintenant, php peut trouver le fichier de configuration openssl.cnf.

Fonctions OpenSSL

Le tableau suivant liste toutes les fonctions liées à PHP OpenSSL. Le terme "version" indique la première version de PHP qui prend en charge la fonctionnalité de la fonction.

NuméroFonctionDescription
Version
1openssl_pkey_new()Renvoyer l'identifiant de ressource avec le nouveau couple de clé privée et clé publique5.0.0
2openssl_pkey_get_private()Renvoyer la clé privée5.0.0
3openssl_pkey_get_public()Renvoyer la clé publique5.0.0
4openssl_pkey_export_to_file()Exporter la clé dans un fichier5.0.0
5openssl_private_encrypt()Chiffrer les données avec la clé privée5.0.0
6openssl_public_encrypt()

Chiffrer les données avec la clé publique

5.0.0
7openssl_public_decrypt()Décripter les données avec la clé publique5.0.0
8openssl_private_decrypt()Décripter les données avec la clé privée5.0.0