Wanderlei escreveu:Alguém do fórum já conseguiu utilizar o WinCrypt no lugar da Capicom para assinar e autorizar a NF-e?
Se capicom existe, e funciona, não tem motivo pra procurar alternativa.
Na prática, capicom são rotinas pra acessar a API do Windows de forma mais fácil.
Sendo assim, é de se imaginar que daria pra fazer sem a capicom.
NÃO SEI os detalhes, apenas por procurar muito sobre isso, vi algumas coisas:
Tem lá o XML.
1) Existe um padrão de formatação do XML, nem sempre o que vemos é o que vai ser assinado
2) São extraídas informações do XML pro processo.
3) ë calculado o hash encima do item 1, acho que nisso entra alguma definição de CODEPAGE
4) A assinatura seria o cálculo encima do hash, utilizando a chave particular
Pra testar a assinatura, teria que ter algum modelo referência de cada etapa, qualquer diferença nos processos não vai ter a mesma assinatura.
De repente até encontramos a forma de assinar correta, mas se o processo todo não estiver correto, a assinatura não vai bater.
Precisaríamos:
Pro item 1, ter um exemplo do que acontece na formatação
Pro item 2, ter um exemplo do que é extraído
Pro item 3, o cálculo do hash
Pro item 4, talvez um hash com assinatura, e fazer igual.
Outra opção seria usar o NET FRAMEWORK, presente em todas as versões do Windows.
Em NET FRAMEWORK existe a possibilidade de criar um componente COM, que significa usar funções do NET FRAMEWORK como se fossem funções normais de API Windows, como se fosse a CAPICOM por exemplo.
Pelo menos pra Windows seria uma alternativa.
Não sei se o framework pra linux facilita ou não isso daí.
Atualmente não se trata apenas de CAPICOM, mas de CAPICOM + MSXML5
Capicom faz a parte de assinatura, e MSXML5 faz as outras partes.
Lembrando que no Windows saíram as DLLs versões 2, 3, 4 e 6, mas MSXML5 só saiu como parte do office.
Outra possibilidade é manter uma máquina pra fazer isso, de forma remota, no caso de uma emergência até solução melhor.
Ou contratar serviço de terceiros, o governo é especialista em permitir terceiros em tudo.