I have used OAuth multiple times before for web applications.
However I am now looking into desktop applications and security issues involved.
Obviously public and private keys have to be stored somewhere, so how can I overcome the potential issue that someone will take the desktop application I create and steal the keys from it?
Cheers,
Thomas.
You can’t. As long as you’re planning on authenticating without going to a server, then the machine and private keys can be compromized.
You can reduce your vulnerability by encrypting your keys until the moment you need them, but at some point in time, your key will be in memory and viewable by a skilled and focused computer savvy thief.