Beschreibung
bool
openssl_pkcs7_sign
( string infilename, string outfilename, mixed signcert, mixed
privkey, array headers [, long flags [, string
extracertsfilename]])
Warnung
|
Diese
Funktion
ist
EXPERIMENTELL
.
Das
Verhalten
,
der
Funktionsname
und
alles
Andere
was
hier
dokumentiert
ist
,
kann
sich
in
zukünftigen
PHP-Versionen
ohne
Ankündigung
ändern
.
Seien
Sie
gewarnt
und
verwenden
Sie
diese
Funktion
auf
eigenes
Risiko
.
|
Die
Funktion
openssl_pkcs7_sign(
)
unterzeichnet
die
Inhalte
der
Datei
,
angegeben
durch
den
Pararmeter
infilename
.
Beim
Unterzeichnen
wird
das
Zertifikat
,
angegeben
durch
signcert
,
und
der
dazu
gehörige
private
Schlüssel
,
angegeben
durch
privkey
,
benutzt
.
Der
Parameter
headers
ist
ein
Array
aus
Headern
die
den
Daten
vorangestellt
werden
,
nachdem
diese
unterzeichnet
wurden
(
Für
mehr
Informationen
über
das
Format
dieses
Parameters
schauen
Sie
bei
der
Funktion
openssl_pkcs7_encrypt(
)
nach
)
.
Der
Parameter
flags
kann
zur
Änderung
der
Ausgabe
benutzt
werden
-
siehe
PKCS7
Konstanten
-
falls
nicht
angegeben
ist
die
Vorgabe
PKCS7_DETACHED
.
Der
Parameter
extracertsfilename
gibt
den
Namen
einer
Datei
an
,
die
ein
Bündel
von
extra
Zertifikaten
enthält
,
die
in
die
Unterschrift
mit
eingefügt
werden
.
Das
kann
zum
Beispiel
als
Hilfe
für
einen
Empfänger
dienen
,
das
von
Ihnen
benutze
Zertifikat
zu
überprüfen
.
Beispiel
1
.
openssl_pkcs7_sign(
)
Beispiel
/
/
Die
Nachricht
die
Sie
unterschreiben
möchten
,
damit
der
Empfänger
sicher
sein
,
/
/
dass
diese
Nachricht
von
Ihnen
stammt
.
$data
=
EOD
Sie
haben
meine
Erlaubnis
20,000.
-
DM
für
Essen
auszugeben
.
Der
CEO
EOD
;
/
/
Nachricht
in
einer
Datei
speichern
$fp
=
fopen("msg.txt"
,
"w")
;
fwrite($fp
,
$data)
;
fclose($fp)
;
/
/
encrypt
it
if
(openssl_pkcs7_sign("msg.txt"
,
"signed.txt"
,
"mycert.pem"
,
array("mycert.pem"
,
"mypassphrase")
,
array("To
"
=
"joes@sales.com"
,
/
/
keyed
syntax
"From
:
HQ
ceo@sales.com
"
,
/
/
indexed
syntax
"Subject
"
=
"Eyes
only")
)
{
/
/
Nachricht
unterschrieben
-
abschicken
!
exec(ini_get("sendmail_path"
)
.
"
signed.txt")
;
}
|
|
Anmerkung
:
Diese
Funktion
wurde
in
4.0.6
hinzugefügt
.