cancel
Showing results for 
Search instead for 
Did you mean: 

NFS-e - Criação de um arquivo XML para o município de Porto Alegre (POA)

Former Member
0 Kudos

Olá Pessoal,

Minha situação é seguinte:

Irei criar via ABAP um arquivo XML que será carregado no site da prefeitura de Porto Alegre manualmente, entretanto, nesse arquivo deve conter o certificado e a assinatura digital. Sendo assim, como e de onde eu busco essa informação para colocar no arquivo? Lembrando que tudo será feito somente via ABAP.

Alguém já precisou fazer algo parecido?

Obrigado.

Att,

Diego Contiero dos Santos

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Oi Diego

Complementando a resposta do Renan, como para NFS-e de Porto Alegre você precisa assinar tanto o RPS como o lote, recomendo você olhar o programa SECXML_SIGN_SIGNED_XML como exemplo. Ele especifica como utilizar os métodos da classe cl_sec_sxml_dsignature neste caso.

A configuração do certificado no servidor Netweaver, conforme o Renan explicou, é semelhante à que é usada para a solução de NF-e da SAP, então você pode pesquisar a respeito caso tenha dificuldade na configuração.

Abraços

Luis Becker

Former Member
0 Kudos

Olá Luis,

Agora já tenho uma ideia de como vou montar tudo. Só estou com uma dúvida em um ponto. Existe uma tag chamada "SignatureMethod" que lá no modelo de POA no finalzinho da TAG está com "#rsa-sha1" e quando eu gero pela classe vem com "#dsa-sha1". Eu até achei uma atributo (M_DSIG_METHOD) na classe que eu suponho que passando RSA irá funcionar, mas por algum motivo, quando eu preencho esse atributo a assinatura não é gerada.

Então como você entende muito mais do que eu, você saberia dizer o que pode ser? Talvez algum outro atributo que deva ser preenchido para que ele funcione?

Eu suspeito que esse SginatureMethod deva influenciar em como a assinatura é gerada, porém eu não tenho certeza disso, então outra opção que pensei é saber se isso realmente influencia na geração da assinatura? Porque se não influenciar eu posso simplesmente substituir na mão esse valor DSA por RSA.

Obrigado.

Diego Contiero dos Santos

Former Member
0 Kudos

Olá Diego

Isto ocorre porque provavelmente o seu certificado está mal configurado na STRUST. Se você não passar este parâmetro no método, ele utilizará o padrão configurado. Se passar e estiver diferente, dará erro.

Verifique a configuração do certificado na STRUST.  O campo "Algorithm" deve estar configurado com o valor "RSA with SHA-256", como na figura abaixo:

DICA: se a sua dúvida não está 100% respondida, ainda não marque como "Correct Answer", pois a sua thread aparece como "answered" e as pessoas podem achar que seu problema já foi resolvido.

Abraços

Luis Becker

Answers (1)

Answers (1)

Renan_Correa
Active Contributor
0 Kudos

Oie Diego,

Você definir uma SSF application específica e importar um PSE com os certificados na transação STRUST do ERP por exemplo. Para assinar você pode analisar a utilização dos métodos da classe cl_sec_sxml_dsignature ou diretamente a função SSF_KRN_SIGN ( porém precisará definir todos os parâmetros do PSE antes de chamá-la ).

att,

Renan Correa