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 |