SSL-Kontext-Optionen

SSL-Kontext-OptionenListe der SSL-Kontext-Optionen

Beschreibung

Kontextoptionen für die ssl:// und tls:// Übermittlung.

Optionen

peer_namestring

Zu verwendender Peer-Name. Wird dieser Wert nicht gesetzt, so wird der Name anhand des Hostnamen erraten, sobald der Stream geöffnet wird.

verify_peerbool

Die Überprüfung des verwendeten SSL-Zertifikats ist erforderlich.

Standardmäßig true.

verify_peer_namebool

Erfordere die Verifikation des Peernamens.

Standardmäßig true.

allow_self_signedbool

Selbst signifizierte Zerifikate erlauben. Setzt verify_peer voraus.

Standardmäßig false

cafilestring

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.

capathstring

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_certstring

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_pkstring

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.

passphrasestring

Passphrase mit der die local_cert-Datei gespeichert wurde.

verify_depthint

Abbruch, wenn die Zertifikatskette zu tief ist.

Standardmäßig keine Prüfung.

ciphersstring

Setzt die Liste der verfügbaren Verschlüsselungsverfahrenn. Das Format dieser Zeichenkette wird in » ciphers(1) beschrieben.

Standardmäßig auf DEFAULT gesetzt.

capture_peer_certbool

Falls dies auf true gesetzt ist, so wird die Kontextoption peer_certificate angelegt, welche das Zertifikat der Gegenstelle enthält.

capture_peer_cert_chainbool

Falls dies auf true gesetzt ist, so wird die Kontextoption peer_certificate_chain angelegt, welche die Zertifikatskette enthält.

SNI_enabledbool

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_compressionbool

Wenn dies gesetzt wird, so wird TLS-Komprimierung ausgeschaltet. Dies kann den CRIME-Angriffsvektor entschärfen.

peer_fingerprintstring | 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_levelint

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.

Changelog

VersionBeschreibung
7.2.0security_level hinzugefügt. Erfordert OpenSSL >= 1.1.0.

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.

To Top