I'm attempting to write a simple check on my server for version data. The result is going to be a JSON response containing the current version #, whether the version requires an update for the program to keep functioning or not, and some HTML data with a feature list for the new release.
What I'm trying to do is send this data from my webserver to my C# application in a secure way that the end user cannot spoof.
I had initially looked at using RSA to encrypt it with a private key on the server side and decode it on the client using a public key, but apparently RSA (at least native .NET RSA) cannot handle this situation, as it is expecting to decode using the private key.
I'm looking for any tips or suggestions on how to do this. I did see that RSA has a verifyhash or verifydata method, but I can't seem to find any decent examples of how to do this securely.. what is this point of using RSA if you're just sending a hash anyway? And if the client is .NET, they could easily decode how the hash is being created and spoof it themselves...
I'm also looking for a .NET (3.5) solution for this, as the application is currently standalone and I would rather not add on and dependencies.
I'm not looking for any code, just some helpful topics to Google or something, as what I have been searching is not returning anything that seems to be useful.
Thanks,
Smitty
Edit to add some of the links I found saying you cannot decode using the public key