# Assinatura em PHP para Ponta Grossa/PR

**URL:** <https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469>\
**Category:** Paraná\
**Tags:** php\
**Created:** [Abril 22, 2019, 7:03pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469 "2019-04-22T19:03:39Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![ermaito](https://comunidade.opendfe.com.br/letter_avatar_proxy/v4/letter/e/838e76/32.png) [@ermaito](https://comunidade.opendfe.com.br/u/ermaito)\
**Post date:** [Abril 22, 2019, 7:03pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/1 "2019-04-22T19:03:39Z")

</div>

Boa tarde,

Estou encontrando imensa dificuldade em relação a assinatura do arquivo para envio da NFS-e padrão Elotech para município de Ponta Grossa. Trabalho com PHP.

Travei no processo de envio onde obtenho sempre o retorno de “A verificação da assinatura falhou”.

Acredito que seja no processo de assinatura que estou cometendo alguma falha ou assinando na hora indevida, enfim. Se alguém puder nos dar uma dica desde já agradeço.

Att,  
Eduardo Maito

---

<div class="post-metadata">

**Author:** ![luizvaz](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/luizvaz/32/4_2.png) [@luizvaz](https://comunidade.opendfe.com.br/u/luizvaz)\
**Post date:** [Abril 23, 2019, 3:36pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/2 "2019-04-23T15:36:40Z")

</div>

Realmente a implementação da Elotech em PHP bem como em .NET é a mais complicada que já vi.

É outro padrão e precisa sobrescrever os métodos do Cliente SOAP para dar certo.

Para testar a assinatura eu aconselho usar o método do webservice abaixo:

```
<ConsultarNfseRpsEnvio xmlns="http://shad.elotech.com.br/schemas/iss/nfse_v1_2.xsd">
<IdentificacaoRps>
    <Numero>1</Numero>
    <Serie>1</Serie>
    <Tipo>1</Tipo>
</IdentificacaoRps>
<IdentificacaoRequerente>
<CpfCnpj><Cnpj>81181083000164</Cnpj></CpfCnpj> 
<InscricaoMunicipal>00043296</InscricaoMunicipal>
<Senha>XBFS53C7</Senha>
<Homologa>true</Homologa>
</IdentificacaoRequerente>
</ConsultarNfseRpsEnvio>

```

Verifique se sua senha está ativa.  
Informe os dados corretos para os outros campos.

Também tenha certeza de converter o seu certificado de .pfx para .p12.

Segue abaixo os arquivos:  
[elotech.xml](https://comunidade.opennfse.com.br/uploads/default/original/1X/20427dcb13eb841d6821d03c2c460b484a74b15b.xml) (431 Bytes)  
[pmpg.php](https://comunidade.opennfse.com.br/uploads/default/original/1X/abc66ae880fca4a04bd4f9fce5ffbb7590c1d14b.php) (2,2 KB)  
[SignedSoapClient.php](https://comunidade.opennfse.com.br/uploads/default/original/1X/081b034f1653e1d75f3460eafc9ef09cfba71435.php) (12,5 KB)

---

<div class="post-metadata">

**Author:** ![ermaito](https://comunidade.opendfe.com.br/letter_avatar_proxy/v4/letter/e/838e76/32.png) [@ermaito](https://comunidade.opendfe.com.br/u/ermaito)\
**Post date:** [Abril 26, 2019, 8:56pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/3 "2019-04-26T20:56:07Z")

</div>

Muito obrigado pelas orientações Luiz, de acordo com o seu exemplo, conseguimos fazer validar a assinatura. Nosso erro era o momento da assinatura que estava sendo feito antes do esperado.

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Maio 8, 2019, 8:11pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/4 "2019-05-08T20:11:41Z")

</div>

Fala Luiz,

Boa tarde cara, tudo certo ?

Cara excelente o código, estou rodando o projeto aqui em php para entender melhor como funciona a assinatura.  
Fiz todo o processo para rodar o projeto e incluindo informações.

1 - Cpnj  
2 - Inscrição estadual  
3 - Converter o certificado para .p12  
4 - Gerei uma nova senha de acesso no site.

Mesmo assim… ainda “A verificação da assinatura falhou”.

Existe mais alguma coisa que não fiz, ou alguma ideia para me ajudar…

Valeu Luiz…

Abraço!

---

<div class="post-metadata">

**Author:** ![luizvaz](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/luizvaz/32/4_2.png) [@luizvaz](https://comunidade.opendfe.com.br/u/luizvaz)\
**Post date:** [Maio 9, 2019, 3:48am UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/5 "2019-05-09T03:48:23Z")

</div>

Esqueci de dizer que precisa da ajuda do xmllint.  
Se você estiver no windows, vai precisar do xmllint.exe para windows.

Está documentado no SignedSoapClient.php

> This class uses external utility xmlling (usually found in libxml2-utils package)  
> It is required to canonicalize XML before signing it, as required by standard.
> 
> To use on windows, follow this instructions  
> [xml - Installing xmllint - Stack Overflow](https://stackoverflow.com/questions/19546854/installing-xmllint)

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Maio 9, 2019, 2:51pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/6 "2019-05-09T14:51:48Z")

</div>

Bom dia Luiz…  
Muito obrigado pelo retorno,

Maravilha, com o xmllint instalado na maquina.  
Preciso fazer mas alguma coisa ?

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Maio 10, 2019, 11:46am UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/7 "2019-05-10T11:46:32Z")

</div>

Bom dia Luiz,

Erro ao validar xml com o xmllint…  
elotech.xml:1: validity error : Validation failed: no DTD found !  
nsultarNfseRpsEnvio xmlns=“[http://shad.elotech.com.br/schemas/iss/nfse\_v1\_2.xsd](http://shad.elotech.com.br/schemas/iss/nfse_v1_2.xsd)”

Ja viu esse erro ?

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Maio 10, 2019, 4:53pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/8 "2019-05-10T16:53:18Z")

</div>

Fala Luiz,  
Boa tarde tudo certo ?

Cara… maravilha, esta perfeito a rotina, consegui assinar aqui !!  
Deu tudo certo, muito obrigado!  
Abraço!

---

<div class="post-metadata">

**Author:** ![Eduardo](https://comunidade.opendfe.com.br/letter_avatar_proxy/v4/letter/e/6a8cbe/32.png) [@Eduardo](https://comunidade.opendfe.com.br/u/Eduardo)\
**Post date:** [Maio 10, 2019, 7:25pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/9 "2019-05-10T19:25:05Z")

</div>

Opa, estou tentando fazer tbm essa nota, mas ate agora sem sucesso , alguém poderia me ajuda, passar um e-mail, para trocar umas ideias, e conforme vou conseguindo aqui podemos contribuir, e depois fazer um passo a passo para novos que terão essa duvida.

---

<div class="post-metadata">

**Author:** ![luizvaz](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/luizvaz/32/4_2.png) [@luizvaz](https://comunidade.opendfe.com.br/u/luizvaz)\
**Post date:** [Maio 14, 2019, 3:52am UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/10 "2019-05-14T03:52:14Z")

</div>

Já foi feito isso, basta seguir os detalhes do meu post acima.  
É o mais simples possível que você vai encontrar.

Sempre sugiro que comece pela consulta de notas, ao invés de ir diretamente no envio.  
É mais fácil de localizar o erro no XML.

[Exemplo Elotech](https://comunidade.opennfse.com.br/t/dificuldade-em-assinar-xml-para-ponta-grossa-php/469/2?u=luizvaz)

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Junho 18, 2019, 8:45pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/13 "2019-06-18T20:45:50Z")

</div>

Fala Luiz,

Boa tarde.

O que preciso fazer para compilar o seu projeto em c#?

Qual framework vc usou ?  
Tem orientações?

Valeu  
abraço!

---

<div class="post-metadata">

**Author:** ![luizvaz](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/luizvaz/32/4_2.png) [@luizvaz](https://comunidade.opendfe.com.br/u/luizvaz)\
**Post date:** [Junho 19, 2019, 2:15am UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/14 "2019-06-19T02:15:52Z")

</div>

Opa,

C# Puro, usei o VS 2017.

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Julho 12, 2019, 11:15am UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/15 "2019-07-12T11:15:55Z")

</div>

Bom dia Luiz,

Td certo?

Cara, gostaria de agradecer muito a forma que você deu ae para comunidade,  
publicando o fonte dessa assinatura,  
Eu consegui criar uma dll com seu código, e integrei o envio no delphi, ficou show.  
Você monstro brother, assinatura muito tensa, ficou muito bom!! Esta de parabéns.  
Meu irmão precisava de um ultimo favor seu…  
Você teria um xml de exemplo de pedido de cancelamento, um xml valido,  
O exemplo disponibilizado no site esta confuso.

Vlw Luiz

Abraço!

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Julho 12, 2019, 11:26am UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/16 "2019-07-12T11:26:13Z")

</div>

Consegui um exemplo aqui,  
estou com problemas nesse campo: nfse:ChaveAcesso

---

<div class="post-metadata">

**Author:** ![luizvaz](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/luizvaz/32/4_2.png) [@luizvaz](https://comunidade.opendfe.com.br/u/luizvaz)\
**Post date:** [Julho 12, 2019, 2:11pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/17 "2019-07-12T14:11:21Z")

</div>

Só funciona na versão 1.2.

No [XML DE EXEMPLOS - v1.02](http://www.pontagrossa.pr.gov.br/files/elotech_xml.zip), tem o resp4.xml. A chave de acesso está nessa resposta.

Está nesse link:  
[http://www.pontagrossa.pr.gov.br/iss](http://www.pontagrossa.pr.gov.br/iss)

---

<div class="post-metadata">

**Author:** ![Junior\_Salzano](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/junior_salzano/32/120_2.png) [@Junior\_Salzano](https://comunidade.opendfe.com.br/u/Junior_Salzano)\
**Post date:** [Julho 12, 2019, 2:55pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/18 "2019-07-12T14:55:15Z")

</div>

Show de bola

como vc lidou com o prefixo nfse:, para o evento de cancelamento ele esta reclamando desse prefixo, sem o prefixo ele nem processa.

---

<div class="post-metadata">

**Author:** ![luizvaz](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/luizvaz/32/4_2.png) [@luizvaz](https://comunidade.opendfe.com.br/u/luizvaz)\
**Post date:** [Julho 19, 2019, 2:22pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/19 "2019-07-19T14:22:41Z")

</div>

Eu não implementei cancelamento.  
Deixo sempre para o usuário fazer isso no portal.

Eu implementei o **ConsultarNfseRpsEnvio**.

Verifica o ENVELOPE SOAP que enviei:  
[RPS000025.soap.xml](https://comunidade.opendfe.com.br/uploads/short-url/wCYvie9Qh5x5qxTN7xst2V898Ae.xml) (5,4,KB)

Retorno:  
[RPS000025.ret.xml](https://comunidade.opendfe.com.br/uploads/short-url/tMnG71PYuPRZEnwtsv1b2pjyfFF.xml) (3,0,KB)

---

<div class="post-metadata">

**Author:** ![luizvaz](https://comunidade.opendfe.com.br/user_avatar/comunidade.opendfe.com.br/luizvaz/32/4_2.png) [@luizvaz](https://comunidade.opendfe.com.br/u/luizvaz)\
**Post date:** [Fevereiro 5, 2020, 4:15pm UTC](https://comunidade.opendfe.com.br/t/assinatura-em-php-para-ponta-grossa-pr/469/20 "2020-02-05T16:15:02Z")

</div>


