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

PHP-Grund-Tutorial

PHP-Advanced-Tutorial

PHP & MySQL

PHP-Referenzhandbuch

PHP-OpenSSL-Funktionen

Was ist OpenSSL?

OpenSSL ist ein kostenloser Open-Source-Modul, das darauf abzielt, Kommunikation über Netzwerke zu verarbeiten. OpenSSL ist ein Tool für die Transport Layer Security (TLS) und Secure Sockets Layer (SSL) Protokolle.

Was ist ein SSL-Zertifikat?

Websites verwenden den Secure Sockets Layer (kurz SSL). Ein SSL-Zertifikat ist für die Verschlüsselung der Daten zwischen zwei Computern verantwortlich. Die beteiligten Computer können ein Client- und Server-Computersystem sein. Wenn Sie Daten wie Passwörter, Kreditkarteninformationen, Anschriften, soziale Sicherheitssnummern usw. teilen, müssen diese geschützt werden, und ein SSL-Zertifikat schützt diese Daten. Ein SSL-Zertifikat stellt sicher, dass die Identität der beiden beteiligten Computer überprüft wird, um eine sichere Verbindung sicherzustellen.

OpenSSL-Installation in PHP

Standardmäßig ist der OpenSSL-Modul bereits zu PHP hinzugefügt worden. Sie können es durch Entfernen von php.ini löschen.; extension = php_openssl.dllAnfangmit dem Punkt (.) und dem Semikolon (;) aktivieren. Nachdem Sie Apache neu gestartet haben und bestätigt haben, dass die Änderungen wirksam sind, speichern Sie den folgenden Code als .php und führen Sie .php im Browser aus.

<?php
   phpinfo();
?>
Testen Sie, um zu sehen, ob das funktioniert‹/›

Sie sollten im Browser sehen, dass OpenSSL aktiviert ist, wie folgt:

OpenSSL-Konfiguration

openssl.cnf ist die Konfigurationsdatei, die alle Standardkonfigurationen enthält, die für die ordnungsgemäße Funktion von OpenSSL erforderlich sind. Um OpenSSL auszuführen, versucht PHP zunächst, diese Konfigurationsdatei zu finden. Um denselben Datei zu erhalten, müssen Sie das Php-Verzeichnis zu den Umgebungsvariablen hinzufügen.

Wenn Sie ein Windows-Benutzer sind, richten Sie die Umgebungsvariablen für das Php-Verzeichnis wie folgt ein:

1.Klicken Sie mit der rechten Maustaste auf 'Mein Computer' und wechseln Sie zu Eigenschaften.

2.Gehen Sie zu den erweiterten Systemeinstellungen.

3.Klicken Sie auf die Schaltfläche 'Umgebungsvariablen'.

4.Bearbeiten Sie die Umgebungsvariablen und klicken Sie dann auf den Button 'Bearbeiten'.

5.Fügen Sie am Ende den Pfad des Php-Verzeichnisses hinzu. Ich verwende XAMPP, und mein Php-Verzeichnis ist c:\xampp\php;.

6.Bestätigen Sie nach dem Abschluss mit dem Bestätigen-Button.

7.Öffnen Sie den Befehlszeilen-Editor und geben Sie den Befehl ein: 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"

Jetzt kann php die openssl.cnf-Konfigurationsdatei finden.

OpenSSL-Funktionen

Die folgenden Tabelle listet alle Funktionen, die mit PHP OpenSSL verbunden sind, auf. Hierbei steht die 'Version' für die frühesten PHP-Versionen, die die Funktionalität der Funktionen unterstützen.

NummerFunktionBeschreibung
Version
1openssl_pkey_new()Ressourcenbezeichner mit neuem Privatschlüssel und Öffentlichen Schlüsselpaar zurückgeben5.0.0
2openssl_pkey_get_private()Privaten Schlüssel zurückgeben5.0.0
3openssl_pkey_get_public()Öffentlichen Schlüssel zurückgeben5.0.0
4openssl_pkey_export_to_file()Schlüssel in eine Datei exportieren5.0.0
5openssl_private_encrypt()Daten mit dem Privatschlüssel verschlüsseln5.0.0
6openssl_public_encrypt()

Daten mit dem Öffentlichen Schlüssel verschlüsseln

5.0.0
7openssl_public_decrypt()Daten mit dem Öffentlichen Schlüssel entschlüsseln5.0.0
8openssl_private_decrypt()Daten mit dem Privatschlüssel entschlüsseln5.0.0