如何在php中处理p7s文件

如何在php中处理p7s文件,php,email,encryption,imap,smime,Php,Email,Encryption,Imap,Smime,在我的基础设施中,我使用一个电子邮件网关,负责对发送的邮件进行签名和加密,并对接收的邮件进行解密 如果我使用我最喜欢的电子邮件客户端配置imap帐户并接收邮件,我可以阅读所有邮件并查看所有附件(每封邮件包含一个.zip文件),而无需放置任何类型的证书。对我来说,到目前为止,网关运行良好 但是电子邮件应该由php脚本处理。通过php检索电子邮件效果很好。我只对这些电子邮件的附件感兴趣。但是,与预期的.zip文件不同,我为每封电子邮件提供了一个smime.p7s文件。mime类型被标记为八位字节流

在我的基础设施中,我使用一个电子邮件网关,负责对发送的邮件进行签名和加密,并对接收的邮件进行解密

如果我使用我最喜欢的电子邮件客户端配置imap帐户并接收邮件,我可以阅读所有邮件并查看所有附件(每封邮件包含一个.zip文件),而无需放置任何类型的证书。对我来说,到目前为止,网关运行良好

但是电子邮件应该由php脚本处理。通过php检索电子邮件效果很好。我只对这些电子邮件的附件感兴趣。但是,与预期的.zip文件不同,我为每封电子邮件提供了一个smime.p7s文件。mime类型被标记为八位字节流

但是,如果我仔细观察这些文件,它似乎是某种二进制结构,其中包含与签名相关的内容,还有一些类似于我要处理的.zip文件(base64编码)。我不知道如何正确处理这个文件

我必须用我的证书和私钥解密它,还是可以用发件人的公共证书打开它?还是我必须先把它解码成base64

如果有任何有用的提示,我将不胜感激。我读了很多书,但我不知道如何正确处理smime.p7s文件,也不知道我必须按什么顺序处理哪些内容:)

非常感谢

尼科


我怀疑邮件仍然是加密的(第7页)。如果不解密它,你就无法得到拉链。嘿,泰森,谢谢你的快速回答。你已经用php解决了类似的问题了吗?
Something binary ...... and many crazy signs .....
and at some point =============> Content-Type: application/x-zip-compressed;
    name="=?iso-8859-1?B?ZWRpVGZ6WnVvcmRudW5nXzE5MDAxMDAzNzAwMDdfMTkwMDEw?=
    =?iso-8859-1?B?MDMwMDEwM18yMDIwMTAwMV8xNjAxNTA2NzQ4MDEyNDk4MDE5?=
    =?iso-8859-1?B?ODQuemlw?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
    filename="=?iso-8859-1?B?ZWRpVGZ6WnVvcmRudW5nXzE5MDAxMDAzNzAwMDdfMTkwMDEw?=
    =?iso-8859-1?B?MDMwMDEwM18yMDIwMTAwMV8xNjAxNTA2NzQ4MDEyNDk4MDE5?=
    =?iso-8859-1?B?ODQuemlw?="

UEsDBBQAAAgIAGcHQVE1IrKnGhMAAClnAgBOABEAZWRpVGZ6WnVvcmRudW5nXzE5MDAxMDAzNzAw .....