Создание S / MIME из MIME? - PullRequest
3 голосов
/ 03 июня 2011

Я не совсем понимаю, и некоторая документация или помощь будут высоко оценены:)

Используя PHP Я создаю MIME с помощью почтового объекта ezcomponents.Но я не понимаю:

Создаете ли вы сообщение S / MIME из оригинального MIME, подписав его openssl_pkcs7_sign ?или вы создаете S / MIME с нуля и подписываете его, когда все будет готово?

Пожалуйста, потерпите меня, когда я пытаюсь понять, как правильно делать вещи.1012 *: нашел этот фрагмент кода, чтобы лучше проиллюстрировать мой вопрос

<?
// 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 headers
//  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]);
?>

1 Ответ

2 голосов
/ 03 июня 2011

Избавьте себя от боли и направьте сообщения, которые вам нужны, подписанные через фильтр MTA, предназначенный для работы, например, Gnu Anubis (SMTP-прокси) или внедрите milter

...