As far as I know, StartSSL is the only free SSL/TLS certificate provider for https websites that is accepted widely by modern browsers.
The StartSSL™ Free (Class 1) certificates are domain or email
validated and mostly referred to as the free certificates. Because the
checks are performed mostly by electronic means, they require only
minimal human intervention from our side. The validations are here to
make sure, that the subscriber is the owner of the domain name, resp.
email account. You may find additional information on this subject in
our CA policy.
But note that StartSSL users are required to have certain technical levels. Possibly you will learn the "client cert authentication" as a StartSSL user as client cert authentication is not commonly used for normal and widely used websites like Facebook, Twitter, Google and etc.
For a tutorials on registering on StartSSL, please check the first parts of How To Set Up Apache with a Free Signed SSL Certificate on a VPS or Switch to HTTPS Now, For Free.