我使用类似于标准openssl_pkcs7_sign()示例的简单php代码在循环中签署许多邮件 http://php.net/manual/en/function.openssl-pkcs7-sign.php
问题是此代码太I / O密集。这将读取相同的证书并在循环中调用openssl函数。
我是否可以只读取内存中的证书并用于每次签名
这是脚本的相关部分
<?php
$headers = array( "From: Ram <ram@netcore.co.in>", "Subject" => "Signed mail");
/* All the recipients who will get the mail */
$users = array ( 'ram@netcore.co.in' , 'aa@netcore.co.in','bb@netcore.co.in');
foreach ($users as $rcpt){
$headers['To'] = $rcpt;
openssl_pkcs7_sign($rcpt."infile.txt",
"outfile.txt","file://noPassPrivatePublicKey.pem",
array("file://noPassPrivatePublicKey.pem", ""),
$headers);
/* Now make an smtp connection and send the mail */
send_mail_to_smtp($from,$rcpt,"outfile.txt");
}
?>
答案 0 :(得分:-1)
签署一次邮件并将其发送给所有收件人。 S / MIME仅对邮件正文进行签名。因此,之后设置To:标题不会使签名无效。