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

Tutorial PHP di base

Tutorial PHP avanzato

PHP & MySQL

Manuale di riferimento PHP

Funzioni OpenSSL PHP

Cos'è OpenSSL?

OpenSSL è un modulo libero e open source progettato per gestire le comunicazioni attraverso la rete di computer. OpenSSL è uno strumento utilizzato per i protocolli di sicurezza del livello di trasmissione (TLS) e del livello di socket sicuro (SSL).

Cos'è un certificato SSL?

I siti utilizzano il livello di sicurezza del socket sicuro (SSL). Il certificato SSL è responsabile della protezione dei dati tra due computer attraverso la crittografia. I due computer coinvolti possono essere il client e il server. Quando condividi dati come password, dettagli di carta di credito, indirizzo di casa, numero di sicurezza sociale, ecc., è necessario proteggerli e il certificato SSL li proteggerà. Il certificato SSL garantisce l'autenticazione delle identità dei due computer coinvolti per garantire una connessione sicura.

Installazione OpenSSL in PHP

Di default, il modulo OpenSSL è già stato aggiunto a PHP. Puoi rimuoverlo dal php.ini; extension = php_openssl.dllIniziocon il punto e virgola (;) per attivarle. Dopo aver riavviato apache e aver confermato che le modifiche sono state applicate, salva il seguente codice come .php e esegui .php nel browser.

<?php
   phpinfo();
?>
Testa con‹/›

Dovresti vedere nel browser che OpenSSL è abilitato, come segue:

Configurazione OpenSSL

openssl.cnf è un file di configurazione che contiene tutte le configurazioni predefinite necessarie per il funzionamento corretto di OpenSSL. Per eseguire OpenSSL, la prima cosa che php cercherà è il file di configurazione. Per ottenere lo stesso file, devi aggiungere la cartella php alle variabili di ambiente.

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

1. Clicca con il tasto destro su "Il mio computer" e vai su Proprietà.

2. Vai alle impostazioni di sistema avanzate.

3. Clicca sul pulsante "Variabili di ambiente".

4. Modifica le variabili di percorso e poi clicca sul pulsante "Modifica".

5. Ora aggiungi il percorso della cartella Php alla fine. sto usandoxampp, la mia cartella php è c:\xampp\php;.

6. Dopo aver completato, clicca sul pulsante OK.

7. 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"

现在,php将能够找到openssl.cnf配置文件。

OpenSSL 函数

下表列出了与PHP OpenSSL相关的所有函数。此处的“版本”表示支持函数功能的PHP的最早版本。

序号函数描述
版本
1openssl_pkey_new()返回具有新的私钥和公钥对的资源标识符5.0.0
2openssl_pkey_get_private()返回私钥5.0.0
3openssl_pkey_get_public()返回公钥5.0.0
4openssl_pkey_export_to_file()将密钥导出到文件5.0.0
5openssl_private_encrypt()使用私钥加密数据5.0.0
6openssl_public_encrypt()

使用公钥加密数据

5.0.0
7openssl_public_decrypt()使用公钥解密数据5.0.0
8openssl_private_decrypt()使用私钥解密数据5.0.0