当前位置: 首页 > 知识库问答 >
问题:

使用smime.p7m签名的邮件(未加密)

申屠俊发
2023-03-14

我试着从一封签名邮件中提取一个或多个PDF文件。我尝试将smime.p7m加载到

mimeMessage=mimeMessage.Load(mem);//mem是使用File.WriteAllBytes(File,FileAttachment.Content)创建的文件的MemoryStream;(EWS文件附件)

这不起作用,因为文件的开头是:

所以我试着用

convert.FromBase64String()但我得到了所有无效的base64代码异常

带有页眉的PDF部分开头为:

但这是1:1 what file.writeAllBytes(file,fileattachment.content);或/和FileAttachment.Load(文件);保存

你能帮帮我吗?这些未知的字符是从哪里来的?

共有1个答案

巫懿轩
2023-03-14

好吧,我明白了...我两天的生命都浪费在这个***上了

在保存签名的附件之前,必须运行此代码“取消签名”,并且所有不想要的字符都将消失=)

byte[]content=FileAttachment.content;

byte[]unsigned=signed.contentinfo.content;

 类似资料:
  • 我试图从java代码中使用多部分和mime消息读取数字签名邮件,并获取附件(xml、pdf、txt等)和消息细节。我的代码适用于内容类型为:multipart/signed的邮件;Protocol=“申请/X-PKCS7-签名”;但是很少有邮件的内容类型为:application/pkcs7-mime;smime-type=signed-data;name=smime.p7m它没有获取附件和消息详

  • 我有一个信任SP的ADFS。 我为我的信赖方信任添加了签名验证证书,但我收到以下错误: MSIS7093:MSIS7093:消息未使用预期签名算法签名。消息使用签名算法http://www.w3.org/2000/09/xmldsig#rsa-sha1.预期签名算法http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 这看起来很清楚,但与实际上下文不一

  • 这可能吗?如何从命令行执行此操作?

  • 我想验证某个有效负载的签名,给定一个公共ECDSA密钥,并且我事先知道签名是正确的。我想使用密码学python库,但问题是,我无法使验证工作并且总是得到异常,即使签名应该是正确的。 这是我当前使用的代码片段。公钥是基64编码和DER格式(所以没有等),签名也是基64编码的。该消息是一些字符串形式的 JSON 数据,没有空格。 这将导致以下错误。 我知道签名肯定有效的原因是因为我尝试了另一个名为ec

  • 代替这两行:driver.findElement(by.xpath(“(.//[@aria-label='message body'])[2]”)).click();driver.findElement(by.xpath(“(.//[@aria-label='message body'])[2]”)).sendkeys(“这是自动生成的邮件”); 但此解决方案实际上删除了签名文本的所有格式。即使使