Author |
|
adrien.hupond Newbie
Joined: 12 July 2016 Location: France
Online Status: Offline Posts: 2
|
Posted: 16 September 2016 at 6:30am | IP Logged
|
|
|
Hi everyone,
We're using Mailbee .NET objects to access a STARTTLS secured IMAP server, and are currently running into troubles because of TLS handshakes failures. It looks like the server rejects our client certificate, and I would like to investigate the handshake messages for troubleshooting. I cannot use openssl to reproduce and debug the STARTTLS sequence, as the private key associated with the client cert is not exportable and openssl cannot read Windows certstore.
The Mailbee .NET security advertises « log files include SSL handshakes », but I couldn't find the way to enable TLS logs. I only have classic mailbee logs which indicates the following :
Quote:
Line 24: [15:12:17.79] [INFO] [0022] [IMAP-00................] Notify server that we are ready to start TLS/SSL negotiation.
Line 25: [15:12:17.79] [SEND] [0022] [IMAP-00................] MBN00000002 STARTTLS\r\n
Line 30: [15:12:17.86] [RECV] [0022] [IMAP-00................] MBN00000002 OK completed\r\n [Total 26 bytes received.]
Line 31: [15:12:17.86] [INFO] [0022] [IMAP-00................] Will start TLS/SSL negotiation sequence.
Line 103: [15:12:24.73] [INFO] [0022] [IMAP-00................] TLS/SSL negotiation completed.
Line 104: [15:12:24.73] [INFO] [0022] [IMAP-00................] Will check if server certificate complies with the specified auto-validation flags.
Line 105: [15:12:24.73] [INFO] [0022] [IMAP-00................] Server certificate successfully created from the handle. Can verify it now.
Line 106: [15:12:24.73] [INFO] [0022] [IMAP-00................] Server certificate validation passed.
Line 107: [15:12:24.73] [INFO] [0022] [IMAP-00................] Get the list of IMAP4 capabilities via CAPABILITY command.
Line 108: [15:12:24.73] [SEND] [0022] [IMAP-00................] MBN00000003 CAPABILITY\r\n
Line 109: [15:12:24.74] [INFO] [0022] [IMAP-00................] Error: Socket connection was aborted by remote host. |
|
|
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 16 September 2016 at 10:29am | IP Logged
|
|
|
Hi,
First, please make sure the problem does not disappear if you change TLS protocol from the default Auto (which usually assumes TLS 1.0) to explicitly set TLS 1.2. Use Imap.SslProtocol property for that.
If this does not help, you can enable Socket tracing in app.config. It will provide network.log in the app folder which will contain SSL handshake details as well.
In <configuration> section of app.config, add:
Code:
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Http">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.WebSockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Cache" value="Verbose"/>
<add name="System.Net.Http" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
<add name="System.Net.WebSockets" value="Verbose"/>
</switches>
<sharedListeners>
<add name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="network.log"
/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
|
|
|
Regards,
Alex
|
Back to Top |
|
|
adrien.hupond Newbie
Joined: 12 July 2016 Location: France
Online Status: Offline Posts: 2
|
Posted: 22 September 2016 at 10:35am | IP Logged
|
|
|
Thanks for the quick reply
I was able to find out that the CA certs store on the test server was accidentally replaced with the production store. Our test client certificates were rejected because the root CA was not trusted anymore by the server.
|
Back to Top |
|
|