Php和电子邮件数字签名问题

时间:2011-09-08 11:38:56

标签: php email openssl digital-signature

我尝试使用php对我的电子邮件进行数字签名,但我遇到了一些问题。 我已经使用open ssl:

生成了使用我自己的CA签名的证书
openssl req -new -nodes -out request.pem -keyout key.pem -days 1098 -config ./openssl.cnf
openssl ca -in request.pem -out cert.pem -config ./openssl.cnf

我已生成私钥key.pem签名证书04.pem 在apache的doc根目录中,我有文件podepsany_email.php和cert + key。

用于数字签名我使用函数openssl_pkcs7_sign()。 代码:

openssl_pkcs7_sign("./msg.txt", "./signed.txt", "./04.pem" ,"./key.pem", $headers);

调用我的脚本的结果是错误消息:

  

警告:openssl_pkcs7_sign()[function.openssl-pkcs7-sign]:错误   在第70行的C:\ data \ www \ podepsany_email.php中获取私钥

可以请有人给我点如何解决这个问题?感谢

ķ。

1 个答案:

答案 0 :(得分:2)

参见php文档讨论:http://php.net/manual/en/function.openssl-pkcs7-sign.php

你应该把“file://”放在.pem文件名前面