ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Alguem assinou o RPS de SP ?

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> NFe
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
giordanirocha
Novato
Novato


Registrado: Sexta-Feira, 25 de Novembro de 2005
Mensagens: 27

MensagemEnviada: Ter Jun 08, 2010 3:34 pm    Assunto: Alguem assinou o RPS de SP ? Responder com Citação

Preciso assinar o RPS para a pref. de SP. Alguém já fez isso ?

Valeu.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
giordanirocha
Novato
Novato


Registrado: Sexta-Feira, 25 de Novembro de 2005
Mensagens: 27

MensagemEnviada: Sex Jun 11, 2010 10:56 am    Assunto: Re: Alguem assinou o RPS de SP ? Responder com Citação

giordanirocha escreveu:
Preciso assinar o RPS para a pref. de SP. Alguém já fez isso ?

Valeu.


Pessoal, consegui assinar o RPS. Comecei a fazer os testes e depois vou reportar.
A assinatura ficou em C# (em dll), pois não consegui fazer em delphi 2007.
Vou transcrever o código abaixo:
Citação:

public string SignRPS(X509Certificate2 cert, String sAssinatura)
{

//recebe o certificado e a string a ser assinada
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

//pega a chave privada do certificado digital
rsa = cert. PrivateKey as RSACryptoServiceProvider;

//cria o array de bytes e realiza a conversao da string em array de bytes
byte[] sAssinaturaByte = enc.GetBytes(sAssinatura);

RSAPKCS1SignatureFormatter rsaf = new RSAPKCS1SignatureFormatter(rsa);
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();

//cria a variavel hash que armazena o resultado do sha1
byte[] hash;
hash = sha1.ComputeHash(sAssinaturaByte);

//definimos o metodo a ser utilizado na criptografia e assinamos
rsaf.SetHashAlgorithm("SHA1");
sAssinaturaByte = rsaf.CreateSignature(hash);

//por fim fazemos a conversao do array de bytes para string
string convertido;
convertido = Convert.ToBase64String(sAssinaturaByte);

return convertido;
}


Esta solução foi baseado em intensa pesquisa. E o pontapé inicial veio do manual da prefeitura de RECIFE.

bye.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> NFe Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB