请在下面找到我收到的邮件标题。我正在研究AS2协议。我可以发送消息,但是当我收到消息时,我遇到了一些问题。
Date: Fri, 28 Jun 2013 13:22:03 GMT
From: XXXXXXX
Message-ID: XXXXXXXXXX
MIME-Version: 1.0
Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m
Content-Transfer-Encoding: binary
Content-Disposition: attachment; filename=smime.p7m
Disposition-Notification-To: XXXXXXXX
Disposition-Notification-Options: signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1
Receipt-Delivery-Option: XXXXXXXXXXXXXXXx
EDIINT-Features: CEM, multiple-attachments, AS2-Reliability
AS2-Version: 1.2
AS2-To: YYYY
AS2-From: XXXX
Content-Length: 59074
您能告诉我如何使用OpenSSL或PHP获取内容吗? 在我执行的大多数命令中,它给了我这个错误:
Error reading S/MIME message
140224062383968:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:150:
140224062383968:error:0D0D106E:asn1 encoding routines:B64_READ_ASN1:decode error:asn_mime.c:193:
140224062383968:error:0D0D40CB:asn1 encoding routines:SMIME_read_ASN1:asn1 parse error:asn_mime.c:528:
答案 0 :(得分:0)
您似乎已将标头而非内容输入ASN.1 BER解码器。 BER将ASN.1定义的数据结构编码为二进制编码。将字符串送入BER解码器将始终产生如上所述的错误。
相反,您应该首先解码内容的基本64编码,并将生成的二进制数据提供给接受CMS数据的解码器(已使用ASN.1指定CMS并使用BER / DER编码)。