Re: Certificates: handling updates, multiple domains?

Benoit TELLIER <[email protected]>
Newsgroups gmane.comp.jakarta.james.user
Message-ID <[email protected]>
Edit.

Please also note that AbstractConfigurableAsyncServer::buildSSLContext 
method can be overwridden if you wishes to experiment with hot reload ;-)

So far this method is called at server initialization, which makes sense 
with an immutable configuration...

Best regards,

Benoit

On 03/05/2023 08:40, Benoit TELLIER wrote:
> Hello
>
> Quick answer
>
> On 03/05/2023 08:25, Wojtek wrote:
>> Hi,
>> quick questions:
>> 1) does James support multiple certificates (so I can provide one for 
>> each configured domain/hostname)?
> No.
>
> Mail is not a HTTP server. OSI level 7 protocols do NOT cary 
> information allowing to resolve domain (like a hostname in HTTP) upon 
> establishing connection. Only login would cary the email address which 
> domain part would allow resolving this. Needless to say: you MUST have 
> SSL already set up when authenticating... This information just come 
> too late...
>
> The only solution for IMAP would be to have one distinct port / 
> address per domain: not very practical..
>
> Note: SMTP + STARTTLS would allow this as there is a first EHLO 
> request sent to request the capabilities hence STARTTLS would 'know' 
> which certificate to use...
>
> Note: If you are building advanced email services, using JMAP, HTTP 
> backed, would be a natural fit where native HTTP tooling like NGinx 
> would allow configuring this like a charm without headache...
Another way could be to use client certificates: James IMAP stack would 
theorically know which certificate to present for the given client 
certificate.

Downside: significant work on the MUA side. For instance I am not aware 
of Thunderbird supporting client certificate.
>> 2) is it possible to update certificates without restarting (rest 
>> endpoint)?
>>
> No. Contributing this might be huge work but welcomed... Please open a 
> JIRA on this...
>
> Note:
>
>  -> STARTTLS is known to be less secure than upfront SSL CF 
> https://nostarttls.secvuln.info thus for new services I would advocate 
> anyway to NOT set up STARTTLS endpoints for your users, just SSL...
>  -> If you take STARTLS out then encryption become a transport 
> problem, handled at layer 4 by all common TCP proxies, which 
> themselves would support hot reload. Without any additional DEV in James.
>
> Added benefits: SSL not done in Java means you would save your 
> precious CPU ;-)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.