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
boolean
-
Die Überprüfung des verwendeten SSL-Zertifikats ist erforderlich.
Standardmäßig TRUE
.
-
verify_peer_name
boolean
-
Erfordere die Verfikation des Peernamens.
Standardmäßig TRUE
.
-
allow_self_signed
boolean
-
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.
-
CN_match
string
-
Der erwartete Common Name. PHP wird eine eingeschränkte Prüfung auf
Wildcards vornehmen. Wenn der Common Name nicht diesem Wert entspricht, so
wird der Verbindungsaufbau fehlschlagen.
Hinweis:
Diese Option ist seit PHP 5.6.0 zugunsten von peer_name
missbilligt.
-
verify_depth
integer
-
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
boolean
-
Falls dies auf TRUE
gesetzt ist, so wird die Kontextoption
peer_certificate angelegt, welche das Zertifikat der
Gegenstelle enthält.
-
capture_peer_cert_chain
boolean
-
Falls dies auf TRUE
gesetzt ist, so wird die Kontextoption
peer_certificate_chain angelegt, welche die
Zertifikatskette enthält.
-
SNI_enabled
boolean
-
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.
-
SNI_server_name
string
-
Ist dies gesetzt, so wird der angegebene Wert als der Servername für
die Server Name Indication verwendet. Ist dieser Wert nicht angegeben,
so wird der Server Name anhand des Hostnamens beim Öffnen des Streams
geraten.
Hinweis:
Diese Option ist seit PHP 5.6.0 zugunsten von peer_name
missbilligt.
-
disable_compression
boolean
-
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.
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.