Как извлечь вложение из application/pkcs7-mime, полученное от Microsoft Graph API в .NET Core

Я загружаю вложения с помощью Microsoft Graph API в .NET Core 3.1.

await client.Users[mail.OwnerEmail].Messages[mail.Id].Attachments.Request().GetAsync()

Недавно в одном электронном письме было странное вложение с типом содержимого application/pkcs7-mime (расширение .p7m). Мне нужно извлечь вложения внутри этого подписанного вложения. Outlook показывает 2 вложения для этого письма: pdf и xml. Мне нужны эти 2 файла.

Я нашел этот поток, но я не понять ответ.

Я попытался:

var signed = new SignedCms();
signed.Decode(signedAttachment.Content);   //Exception: ASN1 corrupted data.

и

new SignedCms(new ContentInfo(signedAttachment.Content))

и получить какое-то понятное имя и версию:

скриншот отладчика

но я не знаю, как извлечь вложения.

Отредактировано:

Также пробовал:

var envelopedCms = new EnvelopedCms();
envelopedCms.Decode(signedAttachment.Content);

и Decrypt... Ничего.


person Makla    schedule 14.04.2020    source источник