(PHP 4 >= 4.0.6, PHP 5, PHP 7)
openssl_pkcs7_sign — 锟斤拷一锟斤拷 S/MIME 锟斤拷息锟斤拷锟斤拷签锟斤拷
$infilename
, string $outfilename
, mixed $signcert
, mixed $privkey
, array $headers
[, int $flags
= PKCS7_DETACHED
[, string $extracerts
]] ) : bool
openssl_pkcs7_sign()锟斤拷取锟斤拷为infilename
锟斤拷锟侥硷拷锟斤拷锟捷o拷锟斤拷使锟斤拷锟斤拷signcert
锟斤拷privkey
指锟斤拷锟斤拷证锟斤拷锟斤拷锟街ワ拷锟斤拷私钥锟斤拷锟斤拷锟斤拷屑锟斤拷锟�
infilename
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟角╋拷锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷锟�
outfilename
锟斤拷写锟斤拷锟斤拷锟斤拷签锟斤拷锟斤拷锟侥硷拷锟斤拷
signcert
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷签锟斤拷锟斤拷 X.509 证锟介,锟轿硷拷 锟斤拷钥/证锟斤拷锟斤拷锟�锟斤拷取锟斤拷锟斤拷锟叫憋拷
privkey
privkey
锟角讹拷应signcert证锟斤拷锟剿皆匡拷锟�
锟轿硷拷 锟斤拷/私钥锟斤拷锟斤拷锟斤拷取锟斤拷锟斤拷锟叫憋拷
headers
headers
锟斤拷一锟斤拷锟斤拷锟斤拷头锟斤拷息锟斤拷锟斤拷锟介,锟斤拷锟斤拷锟斤拷签锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷预锟饺讹拷锟斤拷锟捷斤拷锟斤拷预锟斤拷锟斤拷 (锟轿硷拷
openssl_pkcs7_encrypt() 锟斤拷取锟斤拷锟节该诧拷锟斤拷锟斤拷式锟侥革拷锟斤拷锟斤拷息)锟斤拷
flags
flags
锟斤拷锟斤拷锟斤拷锟斤拷锟侥憋拷锟斤拷锟� - 锟轿硷拷 PKCS7锟斤拷锟斤拷锟斤拷
extracerts
extracerts
指锟斤拷一锟斤拷锟侥硷拷锟斤拷锟斤拷锟狡o拷锟斤拷锟叫帮拷锟斤拷一锟介含锟斤拷签锟斤拷锟侥讹拷锟斤拷锟街わ拷椋拷锟叫┲わ拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷证锟斤拷使锟矫碉拷证锟介。
锟缴癸拷时锟斤拷锟斤拷 TRUE
锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE
锟斤拷
Example #1 openssl_pkcs7_sign() 锟斤拷锟斤拷
<?php
// the message you want to sign so that recipient can be sure it was you that
// sent it
$data = <<<EOD
You have my authorization to spend $10,000 on dinner expenses.
The CEO
EOD;
// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "file://mycert.pem",
array("file://mycert.pem", "mypassphrase"),
array("To" => "joes@example.com", // keyed syntax
"From: HQ <ceo@example.com>", // indexed syntax
"Subject" => "Eyes only")
)) {
// message signed - send it!
exec(ini_get("sendmail_path") . " < signed.txt");
}
?>