Jump to content

2 Dia do ACBr

Visite Stands dos Patrocinadores
Control iD, CS Devices, Elgin, Gertec, Bematech, Jetway, PlugMobile, Epson, Custom e Sweda
Inscreva-se

Nova Loja Oficial
loja.projetoacbr.com.br
Ajude o projeto a crescer, com estilo

Comprar

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Recommended Posts

Olá a todos, atualmente estou quebrando a cabeça com 3 campos da geração do XML de NFCE/NFE, são eles:   <SignatureValue> ,  <DigestValue>   e  <X509Certificate>, como  faço para gerar esses 3 campos?

 

Procurei na internet, mas não achei nada que me ajude, gostaria de fazer 100% com php e de preferência  manualmente (sem a utilização de classes prontas na qual é difícil de entender o código), sei que aqui o ponto forte são outras linguagens, mas acredito que a lógica de programação já ajudaria bastante.

 

Já tenho o certificado em PFX, e já gerei um certificado do tipo PEM.

 

OBS 1: não precisam explicar ou mandar códigos de como inserir o conteúdo gerado nas tags <SignatureValue>  e  <X509Certificate>.

 

OBS 2: O campo <DigestValue>  notei em alguns fóruns que é um retorno da Sefaz, é correto isso?

Share this post


Link to post
Share on other sites

Ainda estou na mesma, até tive uma evolução no referente as ferramentas no PHP, mas estou tendo muitos problemas por ser iniciante em XML.

Consigo ver o status da Sefaz, consultar NFC-e.

Mas transmitir, estou embananado...

Você pode me ajudar?
Sei que precisa assinar um trecho do xml (não sei qual) .

segue uma tentativa minha de assinar e gerar o digval:

<?php

$dados_xml='conteudo da xml';

 $signature;
 $pkeyid = openssl_pkey_get_private(file_get_contents('certificado.pem'));
 $keyData = openssl_pkey_get_details($pkeyid);
 // then pass the $output to  openssl_sign
 openssl_sign($dados_xml, $signature, $pkeyid);
 openssl_free_key($pkeyid);

echo "<br/>";
echo "<br/>";

//Exibe a assinatuda do documento
echo base64_encode($signature);


echo "<br/>";
echo "<br/>";

//Exibe o digval (ou tenta...)
$base64 = base64_encode(hash("sha1", $dados_xml, true));
echo $base64;

//----------------------//----------------------

?>

vc teria algum exemplo ou sabe o erro desse código?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...