PHP - Fonctions OpenSSL

Qu'est-ce que OpenSSL?

OpenSSL est un module open source gratuit destiné à prendre en charge les communications qui ont lieu sur les réseaux informatiques. OpenSSL est un outil pour les protocoles Transport Layer Security (TLS) et Secure Sockets Layer (SSL).

Qu'est-ce qu'un certificat SSL?

Un Secure Sockets Layer c'est-à-dire SSL est utilisé par le site Web. Le certificat SSL prend soin de protéger les données entre deux ordinateurs en utilisant le cryptage. Les deux ordinateurs impliqués peuvent être le partage de données entre le client et le serveur. Lorsque vous partagez des données telles que le mot de passe, les détails de la carte de crédit, l'adresse du domicile, le numéro de sécurité sociale, il doit être protégé et la même chose est prise en charge par le certificat SSL.Les certificats SSL garantissent que l'identité des deux ordinateurs impliqués est authentifiée pour une connexion sécurisée.

Installation d'OpenSSL en PHP

Le module OpenSSL est par défaut ajouté à PHP. Vous pouvez activer la même chose en supprimant l' extension (;) ; = php_openssl.dll ajoutée au début de l'extension dans php.ini. Après cela, redémarrez Apache et pour confirmer si les modifications sont reflétées, enregistrez le code ci-dessous sous .php et exécutez le .php dans le navigateur.

<?php
   phpinfo();
?>
Vous devriez voir l'openssl activé dans le navigateur comme indiqué ci-dessous:

Configuration OpenSSL

Openssl.cnf est le fichier de configuration et a toute la configuration par défaut requise pour que openssl fonctionne.Pour exécuter openssl, la première chose est que php essaiera de localiser le fichier de configuration.Pour obtenir le même, vous devrez ajouter le dossier php à variable d'environnement.

Si vous êtes un utilisateur Windows, procédez comme suit pour configurer la variable d'environnement pour le dossier php:

1. Cliquez avec le bouton droit sur Poste de travail et accédez à Propriétés.

2. Allez dans Paramètres système avancés.

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

4. Modifiez la variable de chemin et cliquez sur le bouton Modifier.

5. Ajoutez maintenant le chemin du dossier Php à la fin. J'utilise xampp donc mon dossier php est C: \ xampp \ php;

6.Une fois terminé, cliquez sur le bouton OK.

7. Ouvrez maintenant votre 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: mingw64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,2,long) idea(int) blowfish(idx)
compiler: x86_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 pourra localiser le fichier de configuration openssl.cnf.

Fonctions OpenSSL

Le tableau suivant répertorie toutes les fonctions liées à PHP OpenSSL. Ici, la version de la colonne indique la version la plus ancienne de PHP qui prend en charge la fonction.
Sr. Non Description de la fonction Version
1 openssl_pkey_new ()

Renvoie un identifiant de ressource qui a une nouvelle paire de clés privée et publique

5.0.0
2 openssl_pkey_get_private ()

Renvoie la clé privée

5.0.0
3 openssl_pkey_get_public ()

Renvoie la clé publique

5.0.0
4 openssl_ pkey_ export_ to_ file ()

Exporte la clé dans un fichier

5.0.0
5 openssl_private_encrypt ()

Crypte les données avec la clé privée

5.0.0
6 openssl_public_encrypt ()

Crypte les données avec la clé publique

5.0.0
sept openssl_public_decrypt ()

Déchiffre les données avec la clé publique

5.0.0
8 openssl_private_decrypt ()

Déchiffre les données avec la clé privée

5.0.0