Die CMS-Funktionen verwenden Flags, die über ein Bitfeld angegeben werden, das einen oder mehrere der folgenden Werte enthalten kann:
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.
|