PHP - Funzioni OpenSSL

Cos'è OpenSSL?

OpenSSL è un modulo open source gratuito che ha lo scopo di prendersi cura delle comunicazioni che avvengono su reti di computer. OpenSSL è uno strumento per i protocolli Transport Layer Security (TLS) e Secure Sockets Layer (SSL).

Cos'è un certificato SSL?

Un Secure Sockets Layer, ovvero SSL, viene utilizzato dal sito Web. Il certificato SSL si occupa di proteggere i dati tra due computer utilizzando la crittografia. I due computer coinvolti possono essere la condivisione dei dati tra client e server. Quando condividi dati come password, dettagli della carta di credito, indirizzo di casa, numero di previdenza sociale, devono essere protetti e lo stesso è curato dal certificato SSL.I certificati SSL assicurano che l'identità di entrambi i computer coinvolti sia autenticata per una connessione sicura.

Installazione di OpenSSL in PHP

Il modulo OpenSSL viene aggiunto per impostazione predefinita a PHP. Puoi attivare lo stesso rimuovendo l' estensione (;) ; extension = php_openssl.dll aggiunta all'inizio dell'estensione in php.ini. Dopo di che riavviare Apache e per confermare se le modifiche stanno riflettendo, salvare il codice sottostante come .php ed eseguire il .php nel browser.

<?php
   phpinfo();
?>
Dovresti vedere openssl abilitato nel browser come mostrato di seguito:

Configurazione OpenSSL

Openssl.cnf è il file di configurazione e ha tutta la configurazione predefinita richiesta per il funzionamento di openssl. Per eseguire openssl la prima cosa è che php proverà a localizzare il file di configurazione.Per ottenere lo stesso dovrai aggiungere la cartella php a variabile d'ambiente.

Se sei un utente Windows, segui i passaggi per impostare la variabile di ambiente per la cartella php:

1. Fare clic con il pulsante destro del mouse su Risorse del computer e andare su Proprietà.

2. Vai a Impostazioni di sistema avanzate.

3. Fare clic sul pulsante "Variabili d'ambiente".

4. Modificare la variabile del percorso e fare clic sul pulsante Modifica.

5. Ora aggiungi il percorso della cartella Php alla fine. Sto usando xampp quindi la mia cartella php è C: \ xampp \ php;

6.Una volta terminato, fare clic sul pulsante OK.

7.Ora apri il prompt dei comandi e inserisci il comando: 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"

Ora php sarà in grado di individuare il file di configurazione openssl.cnf.

Funzioni OpenSSL

La tabella seguente elenca tutte le funzioni relative a PHP OpenSSL. Qui la versione della colonna indica la prima versione di PHP che supporta la funzione.
Suor n Descrizione della funzione Versione
1 openssl_pkey_new ()

Restituisce un identificatore di risorsa con una nuova coppia di chiavi pubblica e privata

5.0.0
2 openssl_pkey_get_private ()

Restituisce la chiave privata

5.0.0
3 openssl_pkey_get_public ()

Restituisce la chiave pubblica

5.0.0
4 openssl_ pkey_ export_ to_ file ()

Esporta la chiave in un file

5.0.0
5 openssl_private_encrypt ()

Crittografa i dati con la chiave privata

5.0.0
6 openssl_public_encrypt ()

Crittografa i dati con la chiave pubblica

5.0.0
7 openssl_public_decrypt ()

Decrittografa i dati con la chiave pubblica

5.0.0
8 openssl_private_decrypt ()

Decrittografa i dati con la chiave privata

5.0.0