How do I configure the Bitcoin client for SSL on Windows? Specifically I would like to connect to bitcoind from an outside system but I'm concerned about security. I've seen where others have said that SSL support is built into the Bitcoin client but how do I configure it and what front-ends are SSL-capable? Could I simply connect with PuTTY?
You can not connect with PuTTY as bitcoind only listens to RPC-JSON commands.

Anything that can send over the HTTP(S) protocol is fine. See the JSON-RPC class for PHP.

Assuming that you want bitcoind to accept remote RPC-JSON calls, you would need to setup your bitcoin.conf file like so:

rpcuser     = randomUsername
rpcpassword = strongRandomPassword
rpcallowip  = ipOfAllowedHost
rpcssl      = 1


Then, navigate to your data directory .bitcoin and generate a self-signed certificate. Do not enter a password when it prompts you for one.

openssl genrsa -out server.pem 2048
openssl req -new -x509 -nodes -sha1 -days 3650 -key server.pem &gt; server.cert


Restart bitcoind and test the SSL functionality. You should see the certificate details, pressing enter twice will return a HTTP/1.0 401 Authorization Required.

openssl s_client -connect localhost:8332


That's it, bitcoind will now accept RPC-JSON commands through through HTTPS.