PHP Conference Nagoya 2025

CMS-Flags/Konstanten

Die CMS-Funktionen verwenden Flags, die über ein Bitfeld angegeben werden, das einen oder mehrere der folgenden Werte enthalten kann:

CMS-Konstanten
Konstante Beschreibung
OPENSSL_CMS_TEXT (int) Fügt einer verschlüsselten/signierten Nachricht den Inhaltstyp-Header text/plain zu hinzu. Beim Entschlüsseln oder Überprüfen wird dieser Header aus der Ausgabe entfernt. Entspricht die entschlüsselte oder geprüfte Nachricht nicht dem MIME-Typ text/plain, tritt ein Fehler auf.
OPENSSL_CMS_BINARY (int) Normalerweise wird die Nachricht in ein "kanonisches" Format konvertiert, das effektiv CR und LF als Zeilende verwendet, wie von der CMS-Spezifikation gefordert. Wird diese Option angegeben, findet keine Konvertierung statt. Dies ist nützlich beim Umgang mit Binärdaten, die nicht im CMS-Format vorliegen.
OPENSSL_CMS_NOINTERN (int) Beim Überprüfen einer Nachricht werden in der Nachricht enthaltene Zertifikate (falls vorhanden) nach dem Signatur-Zertifikat durchsucht. Mit dieser Option werden nur Zertifikate verwendet, die mit dem Parameter untrusted_certificates_filename in der Funktion openssl_cms_verify() angegeben wurden. Die mitgelieferten Zertifikate können aber dennoch verwendet werden, allerdings als nicht vertrauenswürdige CAs.
OPENSSL_CMS_NOVERIFY (int) Das Zertifikat des Unterzeichners einer signierten Nachricht nicht überprüfen.
OPENSSL_CMS_NOCERTS (int) Beim Signieren einer Nachricht wird normalerweise das Zertifikat des Unterzeichnenden mit in die Nachricht aufgenommen. Mit dieser Option wird das Zertifikat nicht mit aufgenommen. Diese Option verringert die Größe der signierten Nachricht, aber der Überprüfende muss eine lokale Kopie des Zertifikats vom Unterzeichnenden besitzen (zum Beispiel durch Angabe des Parameters untrusted_certificates_filename in der Funktion openssl_cms_verify()).
OPENSSL_CMS_NOATTR (int) Beim Signieren einer Nachricht wird normalerweise eine Reihe von Attributen mit angehängt. Diese enthalten die Zeit der Signierung und die unterstützen symmetrischen Algorithmen. Mit dieser Option werden diese Attribute nicht mit aufgenommen.
OPENSSL_CMS_DETACHED (int) Beim Signieren einer Nachricht wird die Klartext-Signierung mit dem MIME-Typ "multipart/signed" verwendet. Das ist der Standard, wenn in flags keine optionalen Parameter an die Funktion openssl_cms_sign() übergeben werden. Wenn Sie diese Option ausschalten, wird die Nachricht mit einer intransparenten Signatur unterzeichnet. Dieses Verhalten ist robuster gegenüber der Übersetzung durch Mail-Relays, kann aber nicht mit Mailprogrammen gelesen werden, die den S/Mime-Standard nicht unterstützen.
OPENSSL_CMS_NOSIGS (int) Die Signaturen einer Nachricht nicht überprüfen.
OPENSSL_CMS_OLDMIMETYPE (int) Verfügbar ab PHP 8.3.0. Setzt den Inhaltstyp auf application/x-pkcs7-mime anstelle von application/pkcs7-mime, um eine Nachricht zu verschlüsseln.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top