AUTH SSL - Failed to open system certificate store. (CMD)

Core FTP client questions and answers
Locked
fornachari
Posts: 7
Joined: Wed Jun 06, 2012 2:41 pm

AUTH SSL - Failed to open system certificate store. (CMD)

Post by fornachari »

Hi All,

I created a site profile in order to send files using Security FTP (AUTH SSL).
To transfer the files I needed to set a certificate. Everything is working fine using the CoreFTP Windows Interface.

I created a Windows Service (with C#) that executes the command line below in order to send a file automatically:

[b]coreftp.exe -O -site <MySite> -u <MyFileToSend> -p <TargetPath> -log <MyTxtLogFile>[/b]

The Windows Server is been executed using my account, otherwise CoreFTP would not find the certificate that I imported on my Windows Certificate Store and is used to send the file.

When I run my Windows Service and the line above is executed, the follow error is registered on my log file:

Connect socket #1688 to XXX.XXX.XX.XXX, port 21...220

AUTH SSL

234 AUTH command ok. Expecting TLS Negotiation.

[b]Cert '55 01 00 00 00 00 A4 3C 91 2C' specified...Failed to open system certificate store.No response from server...[/b]

Total uploaded files: 0
Total uploaded data: 0
Total downloaded files: 0
Total downloaded data: 0

If I create a BAT file with the command line, everything works fine, but when I call the command line programatically, the error above occurs.

Any ideas?

Thank you in advance!
ForumAdmin
Site Admin
Posts: 1011
Joined: Mon Mar 24, 2003 4:37 am

Post by ForumAdmin »

you'll need to run the command with the account that the certificate exists under. This can be done with the "runas" command.
fornachari
Posts: 7
Joined: Wed Jun 06, 2012 2:41 pm

Post by fornachari »

Hi All,

I have not been able to solve my problem yet. I will try to get a more direct explanation:

I created a site profile in order to upload files using Security FTP (AUTH SSL).
To connect to the remote server and upload files I needed to set a certificate. Everything is working fine using CoreFTP Windows Interface.

I built a batch file with the command below to send a file using the site profile that I created:

[b]coreftp.exe -O -site <MySiteProfile> -u <MyFileToSend> -p <TargetPath> -log <MyTxtLogFile>[/b]

It works fine!

As long as I will need to upload this file every X minutes, I created a new Windows Scheduled Task that executes the batch file above with my own account (the account that the certificate exists under) every X minutes.

It also worked!

The last step was: log off the machine with Windows Scheduled Task properly configured with my own account and let the Scheduled Task do all the job, BUT it did not work, the follow error is registered on my log file:

Connect socket #1688 to XXX.XXX.XX.XXX, port 21...220

AUTH SSL

234 AUTH command ok. Expecting TLS Negotiation.

[b]Cert '55 01 00 00 00 00 A4 3C 91 2C' specified...Failed to open system certificate store.No response from server...[/b]

Total uploaded files: 0
Total uploaded data: 0
Total downloaded files: 0
Total downloaded data: 0


Please, anyone could help me?

The Scheduled Task is configured with my account (the account that the certificate exists under) but it seems that the certificate is found by CoreFTP only if I am logged into the machine. Why this happen?

Thank you
fornachari
Posts: 7
Joined: Wed Jun 06, 2012 2:41 pm

Post by fornachari »

Any help would be appreciated!

Thank you!
ForumAdmin
Site Admin
Posts: 1011
Joined: Mon Mar 24, 2003 4:37 am

Post by ForumAdmin »

The program you using is most likely using the system account instead of the account that contains the certificate. Somehow you will need to specify the account in your C# program.
fornachari
Posts: 7
Joined: Wed Jun 06, 2012 2:41 pm

Post by fornachari »

Thank you for your reply!

To eliminate this variable, I am not using C# anymore. I just built a BATCH, with the command line below, and set a Scheduled Task to run this Batch file:

[b]coreftp.exe -O -site <MySite> -u <MyFileToSend> -p <TargetPath> -log <MyTxtLogFile>[/b]

The Scheduled Task was set to run with my account (the account that the certificate exists under).

If I execute the Batch, it works!
If I set the Scheduled Task to run and I am logged into the machine, it works!
If I set the Scheduled Task to run (with my account ) and I am NOT logged into the machine, it fails, with the error below:

[b]Cert '55 01 00 00 00 00 A4 3C 91 2C' specified...Failed to open system certificate store.No response from server...[/b]

I believe that it may be related to some windows security policy that does not allow the windows certificate store be accessed by a user that is not logged into the machine, but I did not find any document that supports my suspicious and I am checking here in the CoreFTP forum if someone had a similar problem, but it seems that I am the first one =(.
ForumAdmin
Site Admin
Posts: 1011
Joined: Mon Mar 24, 2003 4:37 am

Post by ForumAdmin »

It most likely is a permission issue with your account.

If you're running on Vista/Win7, you may need to "run as administrator" when setting up the scheduled task.
Locked