Pessoal, consegui assinar. Porém a pref. de SP retorna a mensagem:
1057-Rejeição: Assinatura difere do calculado.
No código que criado abaixo, alguém tem alguma sugestão para resolver este impasse ?
public string SignRPS(X509Certificate2 cert, String sAssinatura)
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa = cert. PrivateKey as RSACryptoServiceProvider;
byte[] sAssinaturaByte = enc.GetBytes(sAssinatura);
RSAPKCS1SignatureFormatter rsaf = new RSAPKCS1SignatureFormatter(rsa);
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
byte[] hash;
hash = sha1.ComputeHash(sAssinaturaByte);
rsaf.SetHashAlgorithm("SHA1");
sAssinaturaByte = rsaf.CreateSignature(hash);
string convertido;
convertido = Convert.ToBase64String(sAssinaturaByte);
return convertido;
}