davmail icon indicating copy to clipboard operation
davmail copied to clipboard

Add support for retrieving user certificates

Open singe opened this issue 1 year ago • 3 comments

It's possible to add a public S/MIME certificate for a user to the GAL. These are used when a user wants to encrypt a mail to another user, or validate their signature. The public certificate of the recipient is required. Being able to look them up rather than engage in a manual or offline synchornisation process makes this easier, as well as fetching updated certificates when they're changed.

The bulk of this work was done by @krutelp in https://github.com/mguessan/davmail/pull/98 I merely extended it to support the UserSMIMECertificate field in addition to the MSExchangeCertificate field.

These are both part of the EWS Contact: https://learn.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.contact?view=exchange-ews-api

I tried to do it without using ContactDataShape.AllProperties but like @krutelp couldn't find a method that would return the certificates.

I extended the ignored tags based on what was returned by our Microsoft365 instance, but not all of the fields listed under the Contact type above.

I slightly modified the original PR to use Dos line endings in ResolveNamesMethod.java so exact changes could be observed instead of the entire file being changed.

I also added the keys to the contact in ExchangeSession.java as KEY1 and KEY2.

Finally, I undid the small changes in LdapConnection.java to the isMatch() methods to have them take an ExchangeSession.Contact and put them back to Map<String, String>. This was mostly done to limit the changes in the patch to those necessary.

singe avatar May 13 '24 19:05 singe

@mguessan anything else you'd like to see in this?

singe avatar May 22 '24 07:05 singe

@singe looks good, need some time to validate.

Previous attempt broke thing on synchronisation.

mguessan avatar Jun 19 '24 15:06 mguessan

Any chance of this PR making it into the release? I'm currently stumbling over this as well.

dirkhusemann avatar Oct 16 '24 12:10 dirkhusemann