SSL-Kontext-Optionen
SSL-Kontext-Optionen — Auflistung der Optionen für SSL-Kontexte
Beschreibung
Kontextoptionen für die ssl:// und tls://
Übermittlung.
Optionen
-
peer_name
string
-
Zu verwendender Peer-Name. Wird dieser Wert nicht gesetzt, so wird ein
Name anhand des Hostnamen erraten, sobald der Stream geöffnet wird.
-
verify_peer
boolean
-
Verifizierung des verwendeten SSL-Zertifikats voraussetzen.
Standardmäßig TRUE
.
-
verify_peer_name
boolean
-
Erfordere die Verfikation des Peernamens.
Standardmäßig TRUE
.
-
allow_self_signed
boolean
-
Selbst signierte Zerifikate erlauben. Setzt
verify_peer
voraus.
Standardmäßig FALSE
-
cafile
string
-
Speicherort der Datei der Zertifizierungsstelle (CA) 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.
-
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
veraltet.
-
verify_depth
integer
-
Abbruch, wenn die Zertifikatskette zu tief ist.
Standardmäßig keine Prüfung.
-
ciphers
string
-
Setzt die Liste der verfügbaren Verschlüsselungsalgorithmen. 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
veraltet.
-
disable_compression
boolean
-
Wenn dies gesetzt wird, so wird TLS-Komprimierung ausgeschaltet. Dies kann
den Angriffsvektor für CRIME-Angriffe umgehen.
-
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, können alle Optionen die für
ssl:// verwendet werden können ebenfalls bei
https:// und ftps:// angewendet
werden.
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.