microsoftgraph / msgraph-sdk-php

Microsoft Graph Library for PHP.
Other
583 stars 144 forks source link

Get attachment from multipart/signed attachments #1587

Closed SandraCHC closed 1 month ago

SandraCHC commented 2 months ago

When a message is signed, I receive a smime.p7m file as an attachment. When I display the content, I see several file attachments with the file name and the Base64 content.

I receive my file attachments with

$attachments = $graphServiceClient->users()->byUserId($address)->messages()->byMessageId($messageId)->attachments()->get()->wait();
foreach ($attachments->getValue() as $attachment) {
    $data = \base64_decode($attachment->getBackingStore()->get('contentBytes'));
    ...
}

But how do I read the file attachments if they are in a smime.p7m? Is there a function for this?

I have found this issue (https://github.com/microsoftgraph/msgraph-sdk-php/issues/980), but I don't understand how I can implement this with PHP.

Ndiritu commented 1 month ago

Hi @SandraCHC PHP provides openssl_pkcs7_decrypt to decrypt S/MIME content. However, you'll need the certificate and private key that were used when signing the message.

You may need to collaborate with your tenant admin to retrieve the configured certificates. Microsoft Graph doesn't control this functionality but here are some potentially useful links to download the certificates & decrypt the messages:

Microsoft Q&A would also be a good place to ask this to get more domain experts on this.

microsoft-github-policy-service[bot] commented 1 month ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.