开发者

Creating S/MIME from MIME?

开发者 https://www.devze.com 2023-03-09 23:52 出处:网络
I don\'t completely understand and some documentation or help would be appreciated greatly :) Using PHP I create a MIME by using ezcomponents Mail object. But what I do not understand is:

I don't completely understand and some documentation or help would be appreciated greatly :)

Using PHP I create a MIME by using ezcomponents Mail object. But what I do not understand is:

Do you create an S/MIME message from a original MIME by signing it with openssl_pkcs7_sign ? or do you create an S/MIME from scratch and sign it when its done?

Please bear with me as I try to understand the correct way of doing things.

EDIT: Found this piece of code to illustrate my question better

<?
// Setup mail headers.
$headers = array("To" => "someone@nowhere.net",
     "From" => "noone@somewhere.net",
     "Subject" => "A signed and encrypted message.");

// Sign the message first
openssl_pkcs7_sign("msg.txt","signed.txt",
     "signing_cert.pem",array("private_key.pem",
     "password"),array());

// Get the public key certificate.
$pubkey = file_get_contents("cert.pem");

//encrypt the message, now put in the headers.
openssl_pkcs7_encrypt("signed.txt", "enc.txt",
     $pubkey,$headers,0,1);

$data = file_get_contents("enc.txt");

// separate header and body, to use with mail function
//  unfortunate but required, else we have two sets of he开发者_运维问答aders
//  and the email client doesn't decode the attachment
$parts = explode("\n\n", $data, 2);

// send mail (headers in the Headers parameter will override those
//  generated for the To & Subject parameters)
mail($mail, $subject, $parts[1], $parts[0]);
?>


Save yourself a lot of pain and route the messages you need signed through a MTA filter that is designed for the job, e.g. Gnu Anubis (SMTP proxy) or implement a milter

0

精彩评论

暂无评论...
验证码 换一张
取 消