注册
登录
S公司
搜索
在中
包装
此网站(使用Yahoo!)
开发人员
开发人员邮件列表
普通邮件列表
SVN提交邮件列表
主要
支持
文档
包装
项目包建议书
开发人员
漏洞
搜索Bug
程序包错误统计信息
打包回家
|
报告新错误
|
新建搜索
|
发展路线图
状态:
正常开放
|
反馈
|
全部
|
自1.10.12版起关闭
请求编号3729
支持签名消息
提交:
2005-03-07 12:17 UTC
发件人:
鱼肝素
已分配:
沃尔特
状态:
已证实的
包裹:
邮件_时间
PHP版本:
无关
操作系统:
无关
路线图:
(未分配)
订阅
您的电子邮件:
评论
补丁程序(2)
添加注释
添加修补程序
[2005-03-07 12:17 UTC]
鱼肝素
描述:
------------
我添加了对使用openssl_pkcs7_sign签名消息的支持。不幸的是,在使用openssl_pkcs7签名时必须使用临时文件。如果其他人有更好的解决方案,我想听听。
加密程序也可以这样做,如果您需要任何帮助,请告诉我。
我不知道这是否是加密和签名消息的正确包,但我认为这是最符合逻辑的。
复制代码:
---------------
更改代码:
http://www.xolphin.net/mime.diff
使用示例:
($Customer和$PDFDocument是数据对象)
$header['To']=$Customer->电子邮件;
$header['From']='
test@example.com
';
$header['Subject']='签名消息';
$mime=新邮件时间(“\n”);
$mime->setTXTBody($Customer->Message);
做
{
$mime->addAttachment($PDFDocument->PDF,'application/PDF','Document'。$PDFDocument->DocumentName,'base64');
}
while($PDFDocument->Fetch());
$sign_directory='/var/www/admin/certificates/mail';
if($filename_signed=$mime->getSignedMessage(
$header,“certificate.pem”,“instantssl.pem”,
$sign_directory,“密码”)
{
exec(ini_get(“sendmail_path”)。“<”$
文件名已签名);
}
评论
[2008-03-23 02:15 UTC]
沃尔特
(沃尔特·霍普)
针对HEAD创建了一个修补程序,以添加对邮件S/MIME签名的支持。
计划将Mail_time 1.6.0包含在内。
提议的消息签名工作流非常简单;
只需在Mail_mime消息中添加部分,然后调用sign()一次即可对其进行签名。当调用sign()时,“内部”mime消息将被构建并签名。
在此之后,就不能在电子邮件中添加其他部分;
只能添加标题。
消息签名后,get()方法返回签名的内部MIME消息,headers()将包含OpenSSL生成的“Content-Type:multipart/signed”标头。
因此,签名的Mail_time消息可以像普通消息一样进行处理和发送。
无法绕过临时文件的创建,因为openssl_pkcs7_sign无法以任何其他方式工作。
但是,它们是使用tempnam()创建的,因此不会发生冲突。
注意:附加的补丁仍然使用file_put_contents(PHP5),这将被更改。
openssl将成为可选的依赖项。
使用示例:
$符号=true;
$text='电子邮件的文本版本';
$html='<html><body>html版本的电子邮件</b></body></html>';
$crlf=“\n”;
$hdrs=数组(
'来自'=>'
walter@example.com
',
“主题”=>“测试mime消息”,
);
$mime=新邮件时间($crlf);
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$mime->addAttachment(“/home/walter/tmp/test.png”,“image/png”);
if($符号){
$result=$mime->符号($hdrs,'newcert.pem','cacert.pem','password','privatekey.pem');
if(PEAR::isError($result)){
exit(“签名时出错:”.$result->getMessage()。
“\n”);
}
}
$body=$mime->get();
$hdrs=$mime->标头($hdrs);
//等。
[2010-01-05 17:19 UTC]
亚历克
(亚历山大·马奇尼亚克)
由于当前代码中有很多更改,我们需要在这个补丁中进行一些更改。
因此,签名必须支持文件中存储的消息。
请参见saveMessage()、get()、_contentHeaders()。
[2010-01-27 18:31 UTC]
阿列克
(亚历山大·马奇尼亚克)
-路线图版本:1.6.0
+路线图版本:
[2015-08-20 14:18 UTC]
克韦斯克
(克里斯蒂安·韦斯克)
与相关
错误#20938
.