TLS connection error/bug

Advertisement

robbone
Joined:
Posts:
1

TLS connection error/bug

I'm trying to do a TLS connection using .NET library in C#, but I'm receiving a SSH error, it seems a bug.

Here my code:
SessionOptions sessionOptions = new SessionOptions();
sessionOptions.HostName = _hostName;
sessionOptions.Password = _password;
sessionOptions.UserName = _userName;
sessionOptions.Protocol = Protocol.Ftp;
sessionOptions.FtpSecure = FtpSecure.Implicit;
sessionOptions.PortNumber = 990;
sessionOptions.FtpMode = FtpMode.Passive;
If I set:
sessionOptions.GiveUpSecurityAndAcceptAnyTlsHostCertificate = true;
I get the error:
System.ArgumentException: SessionOptions.SshHostKey or SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey is set, but SessionOptions.Protocol is not Protocol.Sftp nor Protocol.Scp.

If I set:
sessionOptions.GiveUpSecurityAndAcceptAnySshHostKey
I get the same error above.

If I set:
sessionOptions.TlsHostCertificateFingerprint = "61:79:71...";
I get the same error above, again

If I set
sessionOptions.SshHostKeyFingerprint = "61:79:71..."
I get the error:
System.ArgumentException: SSH host key fingerprint "61:79:71..." does not match pattern /((ssh-rsa|ssh-dss)( |-))?(\d+ )?([0-9a-f]{2}(:|-)){15}[0-9a-f]{2}(;((ssh-rsa|ssh-dss)( |-))?(\d+ )?([0-9a-f]{2}(:|-)){15}[0-9a-f]{2})*/

When I set TLS properties, the error says that I'm using SSH properties. So I believe it is a bug.

Can anyone help me?

Reply with quote

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
36,449
Location:
Prague, Czechia

Re: TLS connection error/bug

With this code, I'm not getting any exception:
SessionOptions sessionOptions = new SessionOptions();
sessionOptions.HostName = "localhost";
sessionOptions.Password = "test";
sessionOptions.UserName = "test";
sessionOptions.Protocol = Protocol.Ftp;
sessionOptions.FtpSecure = FtpSecure.Implicit;
sessionOptions.PortNumber = 990;
sessionOptions.FtpMode = FtpMode.Passive;
sessionOptions.GiveUpSecurityAndAcceptAnyTlsHostCertificate = true;
 
using (Session session = CreateSession())
{
    session.Open(sessionOptions);
}

Neither with this code:
SessionOptions sessionOptions = new SessionOptions();
sessionOptions.HostName = "localhost";
sessionOptions.Password = "test";
sessionOptions.UserName = "test";
sessionOptions.Protocol = Protocol.Ftp;
sessionOptions.FtpSecure = FtpSecure.Implicit;
sessionOptions.PortNumber = 990;
sessionOptions.FtpMode = FtpMode.Passive;
sessionOptions.TlsHostCertificateFingerprint = "a0:cd:69:37:d2:f6:d3:ee:a7:5d:39:3d:e7:5e:36:f4:9a:83:45:60";
 
using (Session session = CreateSession())
{
    session.Open(sessionOptions);
}
Both with 5.7.2.

Please show us your exact complete code that produces the exception.

See also:
https://winscp.net/eng/docs/message_key_fingerprint_does_not_match
https://winscp.net/eng/docs/message_sessionoptions_sshhostkeyfingerprint_is_not_set

Reply with quote

Advertisement

You can post new topics in this forum