PHP Doku:: überprüft die Unterschrift einer mit S/MIME unterschriebenen Nachricht - function.openssl-pkcs7-verify.html

Verlauf / Chronik / History: (2) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzKryptografische ErweiterungenOpenSSLOpenSSL Funktionenopenssl_pkcs7_verify

Ein Service von Reinhard Neidl - Webprogrammierung.

OpenSSL Funktionen

<<openssl_pkcs7_sign

openssl_pkey_export_to_file>>

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_verifyüberprüft die Unterschrift einer mit S/MIME unterschriebenen Nachricht

Beschreibung

mixed openssl_pkcs7_verify ( string $filename , int $flags [, string $outfilename [, array $cainfo [, string $extracerts [, string $content ]]]] )

openssl_pkcs7_verify() liest die in der angegebenen Datei enthaltene S/MIME Nachricht und untersucht die digitale Signatur.

Parameter-Liste

filename

Pfad zur Datei.

flags

Mit dem Parameter flags wird beeinflusst auf welche Art die Signatur verifiziert wird. Für mehr Informationen siehe PKCS7 Konstanten

outfilename

Wird der Parameter outfilename angegeben, sollte dies eine Zeichenkette sein, die den Namen einer Datei enthält, in der das Zertifikat der unterzeichnenden Person im PEM Format gespeichert wird.

cainfo

Der Parameter cainfo sollte sofern angegeben Informationen über die vertrauenswürdigen CA Zertifikate enthalten, die für den Überprüfungsprozess benutzt werden. Für weitere Informationen siehe Zertifikat Nachweis

extracerts

Wird der Parameter extracerts angegeben, ist es der Name einer Datei, die ein mehrere extra Zertifikate enthält, die als nicht vertrauenswürdige CAs genutzt werden.

content

content ist der Name einer Datei die mit den verifizierten Daten gefüllt wird, jedoch ohne Signaturinformationen.

Rückgabewerte

Gibt TRUE zurück wenn die Signatur verifiziert werden konnte, FALSE wenn die Signatur nicht korrekt ist (die Daten wurden verändert oder das signierende Zertifikat ist ungültig). Im Falle eines Fehlers wird -1 zurückgegeben.

Changelog

Version Beschreibung
5.1.0 Der Parameter content wurde hinzugefügt.


Ein BenutzerBeitrag:
- Beiträge aktualisieren...

14.02.2006 1:59
There is a hidden sixth argument: string pointing to a file where the contents of the signed message should be saved.

It is very important for verifying signed and encrypted messages from MS Outlook which uses opaque signing. After decrypting of message you will get another MIME envelope like this:

MIME-Version: 1.0
Content-Disposition: attachment; filename="smime.p7m"
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m"
Content-Transfer-Encoding: base64

MIIM/QYJ...

Even if you use base64_decode() you will not get decrypted message but PKCS #7 object.

BTW: How to create opaque signed message like from MS Outlook? Switch off PKCS7_DETACHED flag (the last 0 does it):

<?php
openssl_pkcs7_sign
(
   
"full_path_to_message_file",
   
"full_path_where_to_store_signed_message_file",
   
"file://full_path_to_my_public_certificate.pem",
    array(
"file://full_path_to_my_private_key.pem", "password"),
    array(),
   
0
 
);
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)