Check to make sure the private key is installed for the certificate being used for signing. Files such as .cer, .p7b, .der, etc. do not contain private keys.
A .pfx or .p12 file will contain the private key, and the certificate should be imported from one of these types of files.
Companies such as Verisign and Thawte also provide certificate import procedures directly from Internet Explorer on their websites,
for certificates issued by their companies. You can also import a certificate using the Chilkat PFX component and a VBScript or ASP.NET script:
http://www.example-code.com/vbscript/ImportPfx.asp
http://www.example-code.com/vbdotnet/Pfx1.asp