Hello *,
I'm using the last version of C# OpenSSL from
https://github.com/openssl-net/openssl-net (This wrapper is based on version
1.0.2a of libeay32.dll and ssleay32.dll).
I'm using C# OpenSSL to test my Tls Client that supports TLS starting from
version 1.2 and all the cipher suites. Moreover, I'm using Microsoft windows 7.
I have already installed Microsoft visual C++ 2010 express and Microsoft visual
Studio 2010.
I always face an error "TLSv1.2 81 - Alert (Level: Fatal, Description:
Insufficient Security)"
I have debugged the issue. The issue come from a function called SSL_CTX_new()
which is connected to ssleay32.dll. the clienthello is always sent correctly
and then the OpenSSL server replies with Insufficient Security
The console also shows this:
.NET HSM Received: ClientHello (188 bytes)
.NET Offered suite by client: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
(0xc02b) [not supported]
.NET Offered suite by client: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
(0xc023) [not supported]
.NET Offered suite by client: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025)
[not supported]
.NET Offered suite by client: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
[not supported]
.NET Offered suite by client: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
[not supported]
.NET Offered suite by client: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c) [not
supported]
.NET Offered suite by client: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f) [not
supported]
.NET Offered suite by client: TLS_ECDH_ECDSA_WITH_NULL_SHA (0xc001) [not
supported]
.NET Offered suite by client: TLS_RSA_WITH_NULL_SHA256 (0x003b) [not
supported]
.NET Offered suite by client: TLS_RSA_WITH_NULL_SHA (0x0002) [not supported]
.NET ALERT SENT : Fatal InsufficientSecurity
.NET no shared cipher suites
And in Wireshark shows this:
"3406.315537","fe80::ff:fe00:2","fe80::1:5","SSL","271","Client Hello"
"3419.805155","fe80::1:5","fe80::ff:fe00:2","TLSv1.2","81","Alert (Level:
Fatal, Description: Insufficient Security)"
So, I think the error is in something related to configuration of ssleay32.dll
My code is simple and is as follows:
try
{
TestCaseBegin();
Output.WriteLine("TLS Server Certificate preparation");
CertDir = Path.GetFullPath("..\\Appl\\Certificates\\Certificate");
TlsServerCertificate = loadCertificateFromFile(Path.Combine(CertDir,
@"Vector_ServerCertificate_RsaSha1_IA_pfx.pfx"), "123456");
TlsServerCaCertificates = new
X509Chain(OpenSSL.Core.BIO.File(Path.Combine(CertDir,
@"Vector_ServerCertificate_RsaSha1_Root_cert.cer"), "r"));
Output.WriteLine("Start connection");
TS_RcTlsConnect(TlsConnectMode.Rsa);
Output.WriteLine("Send Client Hello");
TS_WaitForTcpConnection();
Output.WriteLine("make sslStreamServer");
SslStream sslStreamServer = new SslStream(tcpClient.GetStream(), true,
MyRemoteCertificateValidationHandler,MyLocalCertificateSelectionHandler);
Output.WriteLine("Start AuthenticateAsServer");
sslStreamServer.AuthenticateAsServer(TlsServerCertificate, false,
TlsServerCaCertificates, SslProtocols.Tls, SslStrength.All, false);
}
catch (TestStepFailException e)
{
HandleTestStepFailException(e);
Output.WriteLine(e.ToString());
}
catch (Exception ex)
{
PrintException(ex);
Output.WriteLine(ex.ToString());
}
finally
{
TestCaseEnd();
}
Has anyone an idea?
Best Regards;
Amr
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users