To serve SSL for your domain, Cloudflare needs a certificate for your domain issued by an accepted CA, which someone needs to buy.
The only way for them to set that up would be to become a CA, get browsers to accept their master certificate and then issue their own certs for their clients.
Yes, but you still need to buy and give them a certificate, right? The question included "can offer SSL for free without buying certs", which is not possible, AFAIK.
The only way for them to set that up would be to become a CA, get browsers to accept their master certificate and then issue their own certs for their clients.