Where to get an SSL certificate for personal website?
I like using StartCom for a free certificate. Until mid-2016, it was recognized in most major browsers and is better than using a self-signed certificate (No error prompts for users).
EDIT 2016: Major browser vendors like Mozilla, Apple, and Google have announced they (and their browsers) no longer trust StartCom as a certificate authority, due to recently uncovered sketchy behavior by the certificate authority (see links in vendors names for their announcements of this and reason why).
Edit 2017: Let's Encrypt is now a great option for personal use and seems to be accepted even more widely than StartSSL was. Downsides to Let's Encrypt are the relatively short validity of the certificate (3 months) but that is not overly burdensome if you are able to take advantage of the automatic renewal they offer through some of their tooling.
One of the only reasons you buy SSL certificates (and don't buy rsa/dsa keys) is for the trust relationships.
If you can securely import a self-signed SSL cert into your browser and install the SSL cert on your web server, there is no reason to involve anyone else.
See AviD's comprehensive description of SSL for more information. What SSL provides:
* It encrypts the channel * It applies integrity checking * It provides authentication
You can get all 3 of those, if you use self-signed Certs, but you have to securely install the cert on your end-points to get the third feature.
One thing you'll need to look into is whether you'll be able to have SSL on your shared hosting at all. If you've not got a unique IP address (eg with a VPS plan) then getting SSL working will be tricky.
Traditionally SSL is handled on a per-ip basis not per hostname, so where you have named based virtual hosting (most lower end web hosting plans) it's not possible to assign unique certs to each site. That is possible now with SNI but you'd need to check that your hosting company and browsers support it.