SSL-Kontext-Optionen
SSL-Kontext-Optionen — Liste der SSL-Kontext-Optionen
Beschreibung
Kontextoptionen für die ssl://
und tls://
Übermittlung.
Optionen
-
peer_name
string
-
Zu verwendender Peer-Name. Wird dieser Wert nicht gesetzt, so wird der
Name anhand des Hostnamen erraten, sobald der Stream geöffnet wird.
-
verify_peer
bool
-
Die Überprüfung des verwendeten SSL-Zertifikats ist erforderlich.
Standardmäßig true
.
-
verify_peer_name
bool
-
Erfordere die Verifikation des Peernamens.
Standardmäßig true
.
-
allow_self_signed
bool
-
Selbst signifizierte Zerifikate erlauben. Setzt
verify_peer
voraus.
Standardmäßig false
-
cafile
string
-
Speicherort der Zertifizierungsstellendatei auf dem lokalen
Dateisystem, welche im Zusammenhang mit der verify_peer
Option verwendet werden soll, um die Identität der Gegenstelle zu
authentifizieren.
-
capath
string
-
Falls cafile
nicht angegeben wurde, oder dort das
Zertifikat nicht gefunden wurde, so wird das durch
capath
angegebene Verzeichnis nach einem passenden
Zertifikat durchsucht. capath
muss ein korrekt
gehashtes Zertifikatsverzeichnis sein.
-
local_cert
string
-
Pfad zur lokalen Zertifikatsdatei im Dateisystem. Dies muss eine
im PEM-Format gespeicherte Datei sein, welche das
Zertifikat und den privaten Schlüssel enthält. Optional kann dies die
Kette an Herausgeberzertifikaten enthalten.
Der private Schlüssel kann ebenfalls in einer eigenen Datei enthalten
sein, die durch local_pk
angegeben wird.
-
local_pk
string
-
Pfad zu einer lokalen Datei, die den privaten Schlüssel enthält, falls es
unterschiedliche Dateien für Zertifikate (local_cert
)
und private Schlüssel gibt.
-
passphrase
string
-
Passphrase mit der die local_cert
-Datei
gespeichert wurde.
-
verify_depth
int
-
Abbruch, wenn die Zertifikatskette zu tief ist.
Standardmäßig keine Prüfung.
-
ciphers
string
-
Setzt die Liste der verfügbaren Verschlüsselungsverfahrenn. Das Format
dieser Zeichenkette wird in
» ciphers(1) beschrieben.
Standardmäßig auf DEFAULT
gesetzt.
-
capture_peer_cert
bool
-
Falls dies auf true
gesetzt ist, so wird die Kontextoption
peer_certificate
angelegt, welche das Zertifikat der
Gegenstelle enthält.
-
capture_peer_cert_chain
bool
-
Falls dies auf true
gesetzt ist, so wird die Kontextoption
peer_certificate_chain
angelegt, welche die
Zertifikatskette enthält.
-
SNI_enabled
bool
-
Falls dies auf true
gesetzt wird, so wird Server Name Indication
eingeschaltet. Die Verwendung von SNI erlaubt die Benutzung von
mehreren Zertifikaten unter der gleichen IP-Adresse.
-
disable_compression
bool
-
Wenn dies gesetzt wird, so wird TLS-Komprimierung ausgeschaltet. Dies kann
den CRIME-Angriffsvektor entschärfen.
-
peer_fingerprint
string | array
-
Beendet die Verbindung, wenn der Fingerabdruck des entfernten Zertifikats nicht
dem angegebenen Hashwert entspricht.
Wird ein String verwendet, so wird der zu verwendende Hashalgorithmus anhand
der Länge der Zeichenkette ermittelt, entweder "md5" (32) oder "sha1" (40).
Wird ein Array verwendet, so geben die Schlüsselnamen den Namen des
Hashalgorithmus an, und jeder zugehörige Wert entspricht dem erwarteten Fingerabdruck.
-
security_level
int
-
Legt die Sicherheitsstufe fest. Falls nicht angegeben, wird die Standard-Sicherheitsstufe der Bibliothek verwendet.
Die Sicherheitsstufen sind in
» SSL_CTX_get_security_level(3)
beschrieben.
Verfügbar von PHP 7.2.0 und OpenSSL 1.1.0 an.
Anmerkungen
Hinweis:
Weil ssl://
die den Wrappern
https://
und
ftps://
zugrunde
liegende Übertragungsschicht ist, gelten alle Optionen, die für
ssl://
angewendet werden, ebenfalls für
https://
und ftps://
.
Hinweis:
Damit SNI (Server Name Indication) verfügbar ist muss PHP mit OpenSSL 0.9.8j
oder neuer kompiliert sein. Die Konstante
OPENSSL_TLSEXT_SERVER_NAME
kann zur Prüfung, ob SNI
verfügbar ist, herangezogen werden.