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

Php and email digital signature problems

我尝试用php对电子邮件进行数字签名,但是我遇到了一些问题。
我已经生成了使用开放ssl与我自己的CA签署的证书:

1
2
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的文档根目录中,我有文件podepsany_email.php和它旁边的证书密钥。

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

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

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

Warning: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: error
getting private key in C:\\data\\www\\podepsany_email.php on line 70

能否请别人给我指出如何解决此问题?谢谢

K.


请参阅php文档讨论:http://php.net/manual/zh/function.openssl-pkcs7-sign.php

您应该在.pem文件名之前放置" file://"。