我正在使用phpmailer尝试发送签名电子邮件(S/MIME)。
我用了这个John Dalesandro的优秀教程创建一个自签名的S/MIME证书并以PKCS12格式打包。
然后我按照PHPMailer S/MIME签名中的说明进行操作生成证书。Crt, cert.key &certchain.pem从我的PKCS12包。
当我用下面的代码签名时,我得到"签名错误:":
$mail->sign(
'/mypath/cert.crt',
'/mypath/cert.key',
'mypassword',
'/mypath/certchain.pem'
);
当我不尝试签名时,邮件会正常发送。
由于我的错误代码中没有任何解释,我不明白我做错了什么。
所以我从外部证书颁发机构获得了PKCS12中的S/MIME证书。然后我做了一个证书。Crt, cert.key &certchain.pem如上所述,现在它工作了。