What exactly do you mean by listing files? As far as using openSSL, probably not. But since you brought it up, I will touch on file sharing.
This is actually surprisingly simple. Assuming your using the network object, setup a delimiter and split. So the first entry would have either upload, download, or chunk. Assuming this is download, the next entry would contain a hash of the data about to be received. You'll probably have to split the data into multiple packets based on length to prevent breakage, hence chunk. For upload, you send the data to the server as described above. The server would obviously have to take into account which client is sending what peace of data, however that's standard.
You can follow me on twitter @cartertemm