我正在尝试使用PHP发送加密和签名的电子邮件,当我最终使用它时,它无法在iOS上工作,当我尝试在iPhone上打开电子邮件时,我收到以下错误: "此邮件已加密。安装包含加密身份的配置文件以解密此消息。" 证书已正确安装,如果我使用Outlook或邮件从mac发送加密电子邮件,它可以正常工作,问题是如果我尝试使用PHP发送它。
答案 0 :(得分:0)
我得到了答案,似乎iOS只喜欢Cipher 3DES,所以我们需要告诉PHP使用它:
我正在使用此代码加密:
$encrypt = @openssl_pkcs7_encrypt(
$signed,
$encrypted,
file_get_contents($this->encrypt_cert_file),
null,
0,
1
);
我改为:
$encrypt = @openssl_pkcs7_encrypt(
$signed,
$encrypted,
file_get_contents($this->encrypt_cert_file),
null,
0,
OPENSSL_CIPHER_3DES
);
现在有效! 我希望这对某人有帮助。