当加密邮件时,判断 s/mime 电子邮件是否使用附加签名进行签名的最简单方法是什么(就计算资源而言)?
如果消息只是签名,那很容易。它有点像:
附加签名
Content-Type: application/x-pkcs7-mime; smime-type=signed-data;
name="smime.p7m"
或者:
用于分离签名
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
micalg=SHA1; boundary="----=_NextPart_000_00D2_01CD5850.61030BF0"
在它的标题中。
但是当消息被加密时,您无法判断它是否也被签名,因为 Content-Type 标头对于两种情况都是相同的(只是加密和加密/签名):
Content-Type: application/x-pkcs7-mime;
smime-type=enveloped-data;
boundary="----=_NextPart_000_000D_01CDC82B.98454D80";
name="smime.p7m"
这是否意味着我必须解密该消息才能知道它是否也已签名?目前,似乎我什至无法判断我的消息在解密之前是否已签名(因为签名在加密数据中)。或者,也许 S/MIME 加密和签名数据仍然有一些模式,可以让我区分加密/签名和加密/未签名数据而无需解密(如果我没有解密证书,这甚至可能)?