SignedCms.ComputeSignature() throws CryptographicException on Vista Business Edition


I am facing a problem calling ComputeSignature() method of SignedCms class
on Vista BE. This function is working fine on Windows XP Professional SP2
with .net framework 2.0. The signing key which I am using for creating
signature is on a smart card from Bit4id. The code on Vista throws a
CryptographicException with the message "The public key of the supplier is
invalid" and stack trace

A chave pública do fornecedor é inválida.

signer, Boolean silent)
at System.Security.Cryptography.Pkcs.SignedCms.Sign(CmsSigner signer,
Boolean silent)
at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner
signer, Boolean silent)

Can someone help what could be the reason for this error?

Hashim Saleem