I am using cloudflare for my nameserver management and using all other features of their like caching and other security features I am on their free account, please tell me how can I make my website on SSL? is their I need to purchase some certificate for this? who is the right vendor for that? what will be the technical challenges I could face ?
It looks like you can do this with Cloudflare so if I were you I would email them to ask. See this article here: https://www.cloudflare.com/ssl
If that doesn't work I would contact your web host. Your web host will be able to provide a solution for you that will be simple and easy.
Your host should be able to help you with this. Give them a call. Note that they may not allow for SSL on a free account.
You need a SSL certificate. You can purchase these from many place or from your hosting service.
You need to install and configure the certificate on your web server.
I don't know what technical challenge you will face. I don't know your level of technical proficiency.