I'm developing a custom VPN solution that needs to support SSTP for Windows clients. For this, my server needs to authenticate itself using a certificate during the SSL handshake. As usual, Windows will then look through its local set of trusted certificates and decide whether to accept or reject the connection.
Since this project currently doesn't have the budget to pay for an official certificate (from Verisign or whoever), I would like to use a self-signed one for now. Unfortunately, this means I will need to ask my users to install this certificate so that Windows can successfully authenticate my server.
I have two specific questions about this scenario:
If I ask users to install this self-signed certificate into their "Trusted Root Certification Authorities" store, does this pose a security risk (of ANY kind!) for them? For example, if someone were to get a hold of the private key of my certificate, could they use it to impersonate any other entity (like Google or Facebook or a bank) by simply signing their own certificate for those names and having it point to my root certificate, or could they only impersonate my server?
If so, is there a way to tell Windows to only use my certificate to authenticate my SSTP server, but not to authenticate any other https or other connections? Preferably, this would be an action that the users can easily take or verify rather than just some setting inside the certificate.