Re: Adding SNI support to JAMES

"[email protected]" <[email protected]> Fri, 30 Aug 2024 15:57:52 +0200
Newsgroups gmane.comp.jakarta.james.user
Message-ID <[email protected]>
Hello Rich!

I'll give you the pointers:

AbstractConfigurableAsyncServer::buildSSLContext will parse the 
confirguration and return Encryption (wrapper on top of a Netty 
SSLHandler factory).

Existing LegacyJavaEncryption wraps a javax.net.ssl.SSLContext: not an 
expert here but my bet is that this could be setted up to be handling SNI...

So overriding AbstractConfigurableAsyncServer::buildSSLContext could be 
the quick and easy way.

To be doing something more generic one would need to find the relevant 
properties to put in SslConfig and provide the related parsing and 
manipulate the SSL context accordingly.

I'm expecting it to be more about javax.net.ssl wizardry and 
configuration choices. Configuration choices likely deserves to be 
discussed beforehand.

Estimated time effort: I'd say 2-3 days with the above input.

We shall not forget to document this 
(src/site/xdoc/server/config-ssl-tls.xml + 
docs/modules/servers/pages/distributed/configure/ssl.adoc)

Hope I am both relevant and right :-)

Thanks for having a look at it.

Best regards,

Benoit

On 29/08/2024 23:55, [email protected] wrote:
> Hello --
>
> I saw this ticket for adding Server Name Indication support in JAMES: (
> https://issues.apache.org/jira/browse/JAMES-4024?jql=project%20%3D%20JAMES%20AND%20text%20~%20sni
> ) and was wondering what the estimated time effort would be to implement
> (for an experienced Java programmer but with no knowledge of JAMES in
> particular).  What are the relevant source files to look at?
>
> Thanks!
> Rich
>