I'm involved in large EJB project, and am currently looking at how to securely transfere files between our EJB server, and several other Unix/Host/Windows servers.

The server running our EJBs needs to act as a client, sending and receiving files to/from the other serves.

I've currently been looking at a few ideas, so far with no luck. I havn't been able to find a usable API implementation of any of the following (Usable = 100% java API with documentation)
1. secure ftp
2. scp (ssh)
3. normal ftp but encrypt the files with PGP first

Does anybody know of an implementation of any of these 3 products in 100% Java which has a decently documented API? Or if you have another idea of how I should be sending files around, that would be appreciated.

Thanks in advance.