Hi Robert,
Okay, so a little more digging and I was able to get this to appear to
work on K-9 Android app. At least it doesn't complain about the cert
like Postbox on my desktop that shows the server cert.
So, can someone here confirm the clients they have this working on?
Perhaps it depends on the client.
Yeah, it sure depends on the client and also on the client configuration.
Server name: server.blueonyx.it
Vsite name: vsite.blueonyx.it
Secure IMAP runs on port 993
If the client (any client) connects to server.blueonyx.it:993? He gets
the server certificate.
If the client connects to vsite.blueonyx.it:993? If the client supports
SNI, he gets the Vsite SSL certificate. If the Vsite has no cert, or the
client doesn't support SNI? Then it falls back to the server certificate.
A good and easy way to test this is via OpenSSL from the command line:
#> openssl s_client -connect <HOSTNAME>:993
That shows a lot of information, which in its mass may not be easy to
make sense of. So let me make the command a bit more complicated to
make the results easier to understand:
The command below connects to 5211r1.smd.net:993 and we grep for CN in
the output to get the "Canonical Name" of the certificate:
#> echo -n | openssl s_client -connect 5211r1.smd.net:993 | openssl x509
-noout -text | grep CN
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = 5211r.smd.net
verify return:1
DONE
Issuer: C=US, O=Let's Encrypt, CN=R3
Subject: CN=5211r.smd.net
As you can see: We connected to 5211r1.smd.net (a Vsite on my box),
which is hosted on 5211r.smd.net and it replied back with the
certificate of the server (5211r.smd.net).
Because we didn't tell OpenSSL to use SNI.
How to use OpenSSL with SNI for the test?
#> openssl s_client -connect <VSITE>:993 -servername <VSITE>
So let me try this again with the more complicated command for easier
output:
#> echo -n | openssl s_client -connect 5211r1.smd.net:993 -servername
5211r1.smd.net | openssl x509 -noout -text | grep 5211r1.smd.net
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = 5211r1.smd.net
verify return:1
DONE
Subject: CN=5211r1.smd.net
DNS:5211r1.smd.net
So in this case the certificate we saw was indeed for the Vsite
(5211r1.smd.net) and NOT the server (5211r.smd.net).
Conclusion: SNI for IMAP works.
If it doesn't in your case, then I'm of course willing to take a look.
File a "Support Reqest" via the GUI and tick "Allow Access" and in the
comments mention the name of the Vsite where SNI for email doesn't seem
to work for you.
This could indeed be an issue with the SNI cert configuration on the
server, but it could also be an email client or email client
configuration issue. I can at least check the server side of things for
you and we can then take it from there. But generally speaking: With
Thunderbird (on PC and Linux) as well as with K-9 on my Android phone I
usually have no issues at all with SNI for email. So these are good
choices, but naturally not the only ones.
--
With best regards
Michael Stauber
_______________________________________________
Blueonyx mailing list
Blueonyx@mail.blueonyx.it
http://mail.blueonyx.it/mailman/listinfo/blueonyx