syncany/syncany — pull request #196 by binwiederhier (2014-08-11 16:44:19+00:00)
Title: HTTPS-only for WS/REST API & web interface

This implements #184.

- All communication with the daemon API (WebSocket and REST) as well as the web interface must be HTTPS. There is no HTTP interface anymore (only 8443 open).
- When first started, Syncany will create a 2048-bit RSA keypair and certificate that will be used for the API.
- The keypair and certificate will be stored in ~/.config/syncany/keystore.jks
- The certificate will additionally be stored in ~/.config/syncany/truststore.jks (used for CLI-to-API communication; and plugins)

Further (partially related changes):
- We updated Bouncy castle to v1.51 which got rid of an ugly `CipherInputStream` workaround with AES/GCM for an issue [described here](http://blog.philippheckel.com/2014/03/01/cipherinputstream-for-aead-modes-is-broken-in-jdk7-gcm/)
- To generate a keypair, we needed to add the [Bouncy Castle PKIX libraries](http://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on/1.51), which are another 3 MB to the distributable ...

@pimotte Comments?