My understanding is free ones are not trusted/accepted by the browsers, hence to have something that isnt tossing errors at your users requires a small payment to a CA.
I've used positivessl from namecheap whenever I need certs, its something crazy cheap like $5