Hi,
I have handson experience on pulling public/private key out of x509certificate. My past experiences like configuring SSL/TLS, generate/validate oauth token using asymmetric key and Windows services makes me perfect fit for your given requirements.
Thanks