An existing connection was forcibly closed by the (wodFtpDLX / wodFtpDLX.NET)
by Tamil, Thursday, December 18, 2008, 12:27 (5820 days ago)
I m getting the following error when i try to connect to FTPS server
Error:
An existing connection was forcibly closed by the remote host
Code:
mFtp1.Blocking = True
mFtp1.Hostname = sHost
mFtp1.Login = sLogin
mFtp1.Password = sPwd
mFtp1.TempAuthorization = 633651011318356000 | yPNPPyMBfUXE2bJHHBnAxHIl8FI=
mFtp1.Authentication = WeOnlyDo.Client.Authentications.Password
mFtp1.Protocol = WeOnlyDo.Client.Protocols.FTPSwithdata
Try
mFtp1.Connect()
If Not mFtp1.LastError Is Nothing Then
Return False
Else
Return True
End If
mFtp1.Disconnect(True)
mFtp1 = Nothing
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message, Ftp1 Connect Error , System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Stop)
Return False
End Try
Re: An existing connection was forcibly closed by
by wodDamir, Thursday, December 18, 2008, 12:48 (5820 days ago) @ Tamil
Tamil,
Can you tell me what line exactly throws this error? (If you remove the try...Catch block, component should throw an exception on the method that caused it.
Also, can you try using any other client on that server?
Regards,
Damba
Re: An existing connection was forcibly closed by
by tamil, Thursday, December 18, 2008, 12:53 (5820 days ago) @ wodDamir
Following line throw the error:
mFtp1.Connect()
Re: An existing connection was forcibly closed by
by tamil, Thursday, December 18, 2008, 12:56 (5820 days ago) @ tamil
We are using coreFTP server.
FTP and SFTP is working fine.
We are having only problem with FTPS.
Re: An existing connection was forcibly closed by
by tamil, Thursday, December 18, 2008, 12:59 (5820 days ago) @ tamil
Sometimes the following error also occurs
The handshake failed due to an unexpected packet format
Re: An existing connection was forcibly closed by
by wodDamir, Thursday, December 18, 2008, 13:26 (5820 days ago) @ tamil
Tamil,
Did you load a certificate in Core FTP Server?
FTPS protocol as to have one defined in order to work. Otherwise connection would be refused, since connection can't be secured.
I duplicated the The handshake failed due to an unexpected packet format with no Certificate loaded. As soon as I set Self-signed certificate, everything started working properly.
Regards,
Damba
Re: An existing connection was forcibly closed by
by tamil, Friday, December 19, 2008, 06:35 (5819 days ago) @ wodDamir
Thanks a lot Damba.
Its working for password authentication.
We want to use certificate authentication also.
When I tried to use certificate authentication , I have got the following error Failed to import certificate. .
Do you have any sample code for certificate authentication.
Re: An existing connection was forcibly closed by
by wodDamir, Friday, December 19, 2008, 08:31 (5819 days ago) @ tamil
Hi Tamil,
Here is an article from our database that shows how to load and use certificate to connecto to FTPS server:
http://www.weonlydo.com/index.asp?kb=1&View=entry&EntryID=74
Hope this helps.
Regards,
Damba
Re: An existing connection was forcibly closed by
by tamil, Monday, December 22, 2008, 07:48 (5816 days ago) @ wodDamir
Hi Damba,
I am getting the following error When I try to use certificate in our web application.
Error is The system cannot find the file specified .
But actually file is in that location.
Code:
Dim cert As System.Security.Cryptography.X509Certificates.X509Certificate2
Dim strCertPath As String = System.Configuration.ConfigurationSettings.AppSettings.Item( CertFilePath )
cert = New System.Security.Cryptography.X509Certificates.X509Certificate2
cert.Import( C: mp0000001.p12 , ftpstest , System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.Exportable)
ftps1.Certificate = cert
ftps1.Authentication = WeOnlyDo.Client.Authentications.Both
error is on cert.Import line
Re: An existing connection was forcibly closed by
by woddrazen, Monday, December 22, 2008, 09:32 (5816 days ago) @ tamil
Tamil,
What happened when you change your Import line to this:
[code]cert.Import( C:\\tmp\\00000001.p12 , ftpstest , System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.Exportable)[/code]
Drazen
Re: An existing connection was forcibly closed by
by tamil, Monday, December 22, 2008, 10:09 (5816 days ago) @ woddrazen
Still I am getting error even after changing like this
Code:
--------------------------------------------------------------------------------
cert.Import( C:\tmp\00000001.p12 , ftpstest , System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.Exportable)
Re: An existing connection was forcibly closed by
by tamil, Monday, December 22, 2008, 10:21 (5816 days ago) @ tamil
Still I am getting error even after changing like this
Code:
--------------------------------------------------------------------------------
cert.Import( C:\ mp\0000001.p12 , ftpstest , System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.Exportable)
--------------------------------------------------------------------------------
Re: An existing connection was forcibly closed by
by tamil, Monday, December 22, 2008, 11:13 (5816 days ago) @ tamil
Still I am getting error even if I use double slash.
In my previous message , its displaying single slash even if i give double double slash.
Re: An existing connection was forcibly closed by
by woddrazen, Monday, December 22, 2008, 11:45 (5816 days ago) @ tamil
Tamil,
Is there any chance you can send us your (or some test) certificate so we can test this on our side?
You can send it to: techsupport@weonlydo.com
Drazen
Re: An existing connection was forcibly closed by
by tamil, Monday, December 22, 2008, 12:47 (5816 days ago) @ woddrazen
The same key and file path is working for windows application.
But it is not working for web application.
I have sent key file to you.
Re: An existing connection was forcibly closed by
by tamil, Monday, December 29, 2008, 07:10 (5809 days ago) @ tamil
That issue occurs if we give
<identity impersonate= true /> in web.config file.
some suggestion to solve this issue. Please check the following link
http://support.microsoft.com/kb/948154
As per suggestion in the above link , I have given permission to the account for private key and modified the code like below.
Dim store As New X509Store( TrustedPeople , StoreLocation.CurrentUser)
store.Open(OpenFlags.[ReadOnly] Or OpenFlags.OpenExistingOnly)
Dim newCert As System.Security.Cryptography.X509Certificates.X509Certificate2 = store.Certificates.Find(X509FindType.FindBySubjectName, ftp.caldev2.com , False)(0)
ftps1.Certificate = newCert
But now I am getting the following error:
Failed to import private key.
If I give
ftps1.PrivateKey = newCert.PrivateKey
Error :
Keyset does not exist
Re: An existing connection was forcibly closed by
by woddrazen, Monday, December 29, 2008, 09:52 (5809 days ago) @ tamil
Tamil,
wodFtpDLX.NET in PrivateKey Property expect private key in XML format.
To convert your PrivateKey to XML format you can use our KeyManager application.
Here is download link for KeyManager application:
http://www.weonlydo.com/Samples/KeyManager.NET.zip
If you want to do that inside your code you should install wodSFTP.NET or wodSSH.NET. Inside that components we provide wodKeyManager.NET component which is used for loading, generating keys. You can then convert key to XML format.
Here is example for wodSFTP.NET component how to connect to server with private key using wodKeyManager.NET:
http://www.weonlydo.com/index.asp?kb=1&View=entry&EntryID=62
Drazen
Re: An existing connection was forcibly closed by
by tamil, Monday, December 29, 2008, 10:22 (5809 days ago) @ woddrazen
All the samples reading key file from specified path.
eg: keys.Load( C:0000001 , ftpstest )
Is there any possibility to load or find key without using folder path.
Because we are having the issue in reading file from path.
For eg:
For certificate we are installing it in certificare store and finding it using the following code.
Dim store As New X509Store( TrustedPeople , StoreLocation.CurrentUser)
store.Open(OpenFlags.[ReadOnly] Or OpenFlags.OpenExistingOnly)
Dim newCert As System.Security.Cryptography.X509Certificates.X509Certificate2 = store.Certificates.Find(X509FindType.FindBySubjectName, ftp.caldev2.com , False)(0)
ftps1.Certificate = newCert
Do you have any similar kind of code for keys.
Re: An existing connection was forcibly closed by
by woddrazen, Monday, December 29, 2008, 11:23 (5809 days ago) @ tamil
Tamil,
Did you try something like this:
[code]ftps1.PrivateKey = newCert.PrivateKey.ToXmlString(True)[/code]
Drazen
Re: An existing connection was forcibly closed by
by tamil, Monday, December 29, 2008, 12:32 (5809 days ago) @ woddrazen
I am getting the following error if I use
ftps1.PrivateKey = newCert.PrivateKey.ToXmlString(True)
error:
Key not valid for use in specified state.
Re: An existing connection was forcibly closed by
by woddrazen, Monday, December 29, 2008, 15:35 (5809 days ago) @ tamil
Tamil,
I cannot duplicate your problem. Here is ASP.NET code I'm using:
[code]ftp1 = New WeOnlyDo.Client.FtpDLX
Dim cert As System.Security.Cryptography.X509Certificates.X509Certificate2
cert = New System.Security.Cryptography.X509Certificates.X509Certificate2
cert.Import( c:\00000001.p12 , ftpstest , System.Security.Cryptography.X509Certificates.X509KeyStorageFlags.Exportable)
ftp1.Protocol = WeOnlyDo.Client.Protocols.FTPSwithdata
ftp1.Hostname = hostname
ftp1.Login = login
ftp1.Authentication = WeOnlyDo.Client.Authentications.Certificate
ftp1.Blocking = True
ftp1.Certificate = cert
ftp1.PrivateKey = cert.PrivateKey.ToXmlString(True)
ftp1.Connect()[/code]
Are you using same certificate you send us?
Did you try to connect there using some other FTPS client maybe? Is there any chance that we could connect to your server and duplicate your problem? You can send your private information to techsupport@weonydo.com
Drazen