Assinatura Digital em arquivos XML (NFS-e )

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Boa noite senhores,
estou tendo dificuldade em encontrar material para auxiliar a desenvolver uma rotina que irá ler um arquivo XML (ou variável XMLType) e assinar todas as notas contidas nele.
Não consegui encontrar nada nos manuais da oracle sobre assinatura digital em PL/SQL.
Alguém já desenvolve alguma rotina em PL/SQL puro para realizar a leitura do certificado digital (instalado na maquina local), gerar o a tag de assinatura a partir de um schema pré-definido e "concatenar" (a grosso modo) esta assinatura em cada nota fiscal dentro de um arquivo XML?
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Vamos lá galera, niguém passou por algo parecido?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Trabalhei em uma empresa onde desenvolvemos a NF-e e, todas as rotinas eram em PL/SQL, porém, para a assinatura, se não me falha memória (validação de certificados etc), foi feito em Java.

Agora, para trabalhar com certificados digitais, com produto Oracle, dê uma olhada em Oracle Wallet:
http://docs.oracle.com/cd/B10501_01/net ... owalet.htm

Talvez o ajude.
mauriciormaciel
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Dom, 17 Fev 2008 8:32 pm
Localização: jose bonifacio - SP

Oi bom dia!

Você teve alguma evolução no seu problema?

Estou tendo a mesma dificuldade.

Agradeço contato
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Bom dia,
desenvolvi um aplicativo em java para assinar os arquivos XML. Enquanto que a rotina, já existente, em PL/SQL somente gera o XML. O aplicativo JAVA recebe o arquivo XML de lote contendo as NFS-e e retorna um arquivo XML assinado por um certificado digital do tipo A1.
Estou agora implementando para transmitir por meio de webservice o XML assinado em PL/SQL puro.
mauriciormaciel
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Dom, 17 Fev 2008 8:32 pm
Localização: jose bonifacio - SP

Renato:

Como você conseguiu fazer a assinatura digital? Poderia disponibilizar a rotina?

Grato
Mauricio
victorlazari
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Qui, 21 Mar 2013 8:28 am

@tora34

Estamos querendo mudar aqui na empresa para apenas usar o banco de dados em todo processo.
Como você conseguiu validar o xml neste caso?
Teria como explicar?

Valeu!
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Bom dia Mauricio,
tudo bem?
Como dito anteriormente, o processo de assinar o XML não consegui desenvolver em PL/SQL.
Desenvolvi uma aplicação java que era executada a partir do comando host do forms 6i.
Tem que identificar se todo o processo sendo executado no banco é a melhor solução, tendo em vista que a comunicação com o web service (envio dos arquivos) pelo PL/SQL é complexa, tem que levar em consideração se o web service é protegido ou não (protocolo SSL) se sim, você terá que possuir o Oracle Wallet instalado e importar todos os certificados do tipo A1.

Na época, também tentei criar a rotina de assinatura em JAVA nativo do PL/SQl, porém sem sucesso, a versão do JAVA do banco não é a mais atual e tem várias restrições.

Acredito que o melhor cenário e utilizar uma outra tecnologia para efetuar os processos (assinatura e envio ao web service), outro item é que se você decidir enviar os arquivos a partir de uma aplicação PL/SQL mantida dentro do SGDB, você terá que abrir portas para realizar esta comunicação, e isto pode ser considerado, em algumas empresas, uma falha de segurança.
fceron
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Ter, 18 Jul 2017 2:36 pm

Senhores,

Desculpem ressuscitar este tópico após tanto tempo, mas agora com a chegada do SPED-Reinf, ainda tenho algumas duvidas sobre PL/SQL e Autenticação com WebServices. Alguém conseguiu utilizar o Oracle Wallet para se conectar com os WebServices da SEFAZ (NFe)? Além do certificado digital do contribuinte, é necessário ter mais algum certificado, nem que seja o certificado Publico da Sefaz? Como foi feita a Configuração do Wallet e o código no PLSQL?

Desde já, agradeço a atenção.
Responder
  • Informação