How to implement secure FTP connection on iOS - objective-c

Apple provide a CFNetwork guide, where described how to work with FTP. I interested to work with SFTP. Everywhere chilkat ftp library is suggested, but he has a too big feature list, that is unnecessary to pay.
Are there any way to connect to SFTP only for download, upload and viewing directory lists?

/n software IP*Works! SSH for iOS (www.nsoftware.com/ipworks/ssh/) is another commercial solution. It includes an SFTP library as well as a number of other iOS communications libraries.

SFTP is just an extension of the SSH protocol. I would look for an open source SSH library, such as this one. Most have support for the SFTP protocol.
One thing to note, if you intend to use it in an App Store app, you may want to remove the server capability from the library, as Apple probably wouldn't allow it. If, by some slight chance, the library even builds and runs with the SSH server capability, you may be able to get it into the App Store if you don't enable the server.
Of course, I'm sure there are libraries out there with client-only capabilities if removing server support yourself doesn't sound all that dandy.

Related

Delphi 10.4 Setup SFTP Client with PPK

I am searching for a possibility to load up a simple text file to an SFTP directory. I was shocked as I noticed a nearly 5k worth development environment is not able to connect to an SFTP Server (20-Year-old standard specification), without taking another 500 bugs to buy a Component from a third-party developer Studio. Am I right? Or is there a way to get an SFTP connection with Delphi Board Components?
I was not able to find a solution with Delphi components.
I used "SFTP Client and Server Library" from /n Software.
Works like expected, Support is good.

Is there a way to securely transmit data from Windows Mobile 6.5 over the Internet?

I have an application in C++ that needs to transmit data securely via web services to our web server.
VPN was the first choice, but out network administrator informs us that we will not support the IPSEC protocols available on Windows Mobile.
Currently we have tried implementing a SSL connection, but found we don't have the libraries for that.
Alternatively, we have been trying PocketPutty to create a SSH tunnel, but that only has a GUI interface, and we're not sure how to get that to work via programming code.
Thank you
OpenSSL supports Windows CE.
SSL 2.0 has been supported since at least CE 5.0.
SecureBlackBox is also supported.

How does editing a remote file work?

I was wondering how editing a remote file without downloading it to the local computer actually works in detail. After using google and reading some posts I learned that this is possible using the FTP or SSH protocol.
I assume that it's up to a special client application to set up a TCP/IP socket connection to a server, but what is going on after this is done?
Who needs to implement the protocol and how does another application that opens a remote file gain the data that it needs?
SFTP protocol (do not mix it with FTP/FTPS), which works over the SSH, allows per-block access to the remote file. And it will work with almost any SSH server (where sftp subsystem is allowed).
For instance, in this way works SFTP Net Drive application, which mounts remote server's filesystem as Windows drive.
The application would download the whole file locally, open it, make changes and upload the whole file again. A classic example is WinSCP where you can 'edit' a remote file. The application (WinSCP) knows which protocol to use (FTP/FTPS/SFTP etc) and knows the parameters to be used (e.g. remote directory to upload the file to, username, password, port etc). Even if a file is large the whole file must be downloaded in order to me modified.
There appears to be no way of doing partial file updates in FTP, SFTP. HTTP or SCP. Infact there is no well known open source protocol to do this. If there is an implementation out there it has to proprietary.
The Wikipedia articles on FTP and SFTP seem reasonably good and provide links to the RFCs if you want to investigate further.
Who needs to implement the protocol and how does another application that opens a remote file gain the data that it needs?
You don't say which language your program will be written in, but there are surely suitable ftp and sftp libraries available for most of them.
If your program is running on Linux / OS X / other BSD you could even get away with calling the ftp/sftp programs.

Sending push-notifications from coldfusion?

DISCLAIMER: I have never used coldfusion before and am in a bit of a hurry to get a small code snippet implemented.
So, I have the app working and receiving notifications from a php script: device token is hardcoded into script, script has access to the needed certificate to encrypt the message using SSL, message is sent to apple servers and passed on to the device.
I need to do the same thing from coldfusion. That is what the production server is using.
Is there any way to do so from coldfusion, or will I have to use some other programming language to do so? I have read that coldfusion plays well with .net and with java. I would prefer .net, and I see they have the SSL stream class (http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx) available. Could any coldfusion experts write some simple sample code to let me know how I should go about it?
Thank you.
-EDIT: in reply to the comment below, this is exactly what I want to do: connect through TCP over TLS or SSL to a server (in this case the Apple Push Notification server, APNs) using a local certificate I have in .pem format (if the certificate needs to be installed on the server or needs to be in another format for coldfusion, I can do that as well), and send it a binary stream (my notification).
The answer is yes, this can be done with ColdFusion. In fact, it can be done with pretty much any programming language that has the requisite cryptographic libraries to open a private key store and sign messages to the destination server (i.e., Apple's push servers).
Though ColdFusion does appear to have some native support for accessing and using a PKCS12 keystore, it seems to be far more common to let Java do the heavy lifting, and simply reference the Java library from within ColdFusion.
Here is a link demonstrating the simple use case of initiating a push notification from ColdFusion, using a Java library for the actual sending of the notification:
http://www.raymondcamden.com/index.cfm/2010/9/13/Guest-Post-Apple-Push-Notifications-From-ColdFusion-in-Ten-Minutes-or-Less

Windows FTP Server with XCRC and SSL (Other than CuteFTP SS)

I am currently using CuteFTP Secure Sever 3.3 but it has problems. It seems to muck up connection management, drop connections occasionally and die on large files.
I am looking for a replacement that supports XCRC because I use the Synchronize Folders function in the CuteFTP client. I would prefer to detect file similarity by XCRC rather than a simple size/name/modification date if possible.
Are there any other servers that support XCRC and SSL? I am looking for recommendations, not a regular list scraped from Google. I am hoping to save my self the time of trying each one out individually.
SmartFTP supports XCRC, and works quite well. It isn't open source or free, but it is a decent product. The linked page also shows some FTP Servers that support it as well.
Serv-U ftp server, not free but is quite good
FileZilla is always good if that's truly what you want. http://filezilla-project.org/
SmartFTP also has a list of FTP servers supporting XCRC http://www.smartftp.com/support/kb/2549