News  [SoftwareSite

Latest News
Older News
RSS Feed
Complete Projects
Useful Classes
Top Downloads
Message Board
Send Comments
Software License Buttons
Forums -> Security Library Forum
"The other side has sent a failure alert."  
by T.J. Glazier [tj at ebrandsecure dot com]
posted on 2005/04/06

I am having difficulty connecting to a server which requires SSL authentication. The steps I have taken to implement the SSL and the troubleshooting are:

1. The server I am connecting to requires a cert from either Thawte or Verisign, which I have.
2. I connect using the SecureSocket with the standard recommended options and this is running with an ASP .NET Script.
3. When I attempt to connect/receive I am getting the exception "The other side has sent a failure alert."[stack trace below]
4. I checked with the server operators and their side shows an invalid certificate error.
5. I begin troubleshooting with OpenSSL and get the same problem using the s_client utility and my cert.
6. After some messages to the server operators they give me a combined CA cert, as I understand it is a cert that has the info for Thawte and Verisign in it.
7. I am successful in connecting to the server with the OpenSSL s_client utility with the -CAfile [combined cert] option.
8. I reexport my cert with the chain and again attempt to connect to the server and I get the same error.

How do I overcome this problem? It seems that I have to pass something additional to the server that it is requiring in regards to the cert chain, but for the life of me I cannot figure out how to get the securesocket to do this. I can provide additional information if required, some will have to be sent via e-mail for privacy reasons, and thank you very much for the library, it has been a blessing with many previous projects.

-----------Stack Trace---------------

[SslException: The other side has sent a failure alert.]
Org.Mentalis.Security.Ssl.Shared.HandshakeLayer.ProcessAlert(RecordMessage message)
Org.Mentalis.Security.Ssl.Shared.HandshakeLayer.ProcessMessages(RecordMessage message)
Org.Mentalis.Security.Ssl.Shared.RecordLayer.ProcessBytes(Byte[] buffer, Int32 offset, Int32 size)
Org.Mentalis.Security.Ssl.Shared.SocketController.OnReceive(IAsyncResult ar)

[SecurityException: An error occurs while communicating with the remote host.
Org.Mentalis.Security.Ssl.Shared.SslException: The other side has sent a failure alert.
at Org.Mentalis.Security.Ssl.Shared.HandshakeLayer.ProcessAlert(RecordMessage message)
at Org.Mentalis.Security.Ssl.Shared.HandshakeLayer.ProcessMessages(RecordMessage message)
at Org.Mentalis.Security.Ssl.Shared.RecordLayer.ProcessBytes(Byte[] buffer, Int32 offset, Int32 size)
at Org.Mentalis.Security.Ssl.Shared.SocketController.OnReceive(IAsyncResult ar)]
Org.Mentalis.Security.Ssl.SecureSocket.EndReceive(IAsyncResult asyncResult)
Org.Mentalis.Security.Ssl.SecureSocket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
Org.Mentalis.Security.Ssl.SecureSocket.Receive(Byte[] buffer)
RIP.ebsSocket.Receive() in C:\Inetpub\wwwroot\RIP\ebsRIP.vb:7376
RIP.EPPRegistryBase.Connect() in C:\Inetpub\wwwroot\RIP\ebsRIP.vb:2199
RIP.RegistryObjCollection.RegistryProcess(RegistryFunction mode) in C:\Inetpub\wwwroot\RIP\clsWhois.vb:375
RIP.WebUserControl1.btnIsRegistered_Click(Object s, EventArgs e) in C:\Inetpub\wwwroot\RIP\WhoisRIP.ascx.vb:530
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)


Copyright © 2002-2007, The Team. All rights reserved.
This site is located at
Send comments to the webmaster.