Jump to content
batata004

Assinatura digital com php

Recommended Posts

Após ler muita coisa na internet ainda estou com uma pequena duvida sobre como autenticar um arquivo com certificado digital.

 

Comprei o certificado do tipo A1 para emitir notas fiscais eletronicas na prefeitura aqui de Florianopolis. Já integrei todo o meu sistema com a API da Prefeitura e a forma de gerar a NFe é bem simples: eu realizo um POST contendo um XML e pronto, a Prefeitura gerará a NFe.

 

Minha dúvida é a seguinte: no final do arquivo XML há várias linhas que preciso preencher no formato abaixo. Como que eu gero essas linhas usando PHP e o certificado do tipo A1? Eu procurei bastante na internet e não descobri como que gero essa parte final do arquivo XML.

 

Acredito que vários devs estão passando pelo mesmo problema pois quando ligo no suporte da prefeitura eles dizem que muitas outras pessoas já ligaram pra lá pra saber como se faz isso e eles não sabem como responder e que eu teria que consultar um programador (eu sou um programador, pelo menos acho que sou!) para resolver isso!

OBRIGADO!

 

            <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Sign-4.938194207420864E7">

                <ds:SignedInfo>

                    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/>
                    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                    <ds:Reference Id="RefElement-3.496850484729869E7" URI="">
                    <ds:Transforms>
                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/>
                    </ds:Transforms>
                    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                    <ds:DigestValue>KsPAoHg2H0y/wSrrOGRihebcE/g=</ds:DigestValue>
                    </ds:Reference>

                </ds:SignedInfo>

                <ds:SignatureValue Id="SignatureValueID-7.454649528132233E7">
                CkDFTzGt0+vg...==
                </ds:SignatureValue>
                <ds:KeyInfo>

                    <ds:X509Data>

                        <ds:X509IssuerSerial>

                            <ds:X509IssuerName>
                            CN=AC Instituto Fenacon RFB G3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, C=BR
                            </ds:X509IssuerName>
                            <ds:X509SerialNumber>1c28f49fd377...</ds:X509SerialNumber>

                        </ds:X509IssuerSerial>

                        <ds:X509Certificate>
                        MIIIPDCCBiSg...
                        </ds:X509Certificate>

                    </ds:X509Data>

                </ds:KeyInfo>

            </ds:Signature>

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

  • Similar Content

    • By louisefgomes
      oii gente, é que surgiu várias dúvidas agora que eu quis iniciar desenho digital...  Então gostaria de saber qual programa vocês indicam, que tipo de notebook é melhor pra aguentar os programas e que mesa digital vocês indicam...
      para da uma ajudinha:
      01. eu queria programas que fossem recomendados para quem quer fazer quadrinhos, porém se existir um que se adeque tanto para quadrinhos quanto para desenhos realista ficaria feliz ( caso não exita pode indicar um programa bom para cada área ?)
      02. sobre as mesas eu ja vi que as melhores são da wacom queria saber qual dessas é melhor : 
            - Mesa Digitalizadora One by Wacom Pequena - CTL472L
            - Mesa Digitalizadora Wacom Intuos Pequena - CTL4100
      Agradeço desde já atenção de vocês !!!
          
    • By Fernando Rafael
      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).
       
      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?
       
      ,
    • By Kairion
      Estou à procura de algum sistema, de preferência opensource, que possa ser rodado em minha hospedagem e, além de registrar um documento/arquivo (atribuindo-lhe um código de autenticação), permita a assinatura digital (com certificado digital) do mesmo.
       
      O objetivo é que se produza efeito semelhante aos arquivos retirados dos processos dos sites dos Tribunais de Justiça, por exemplo, onde incluí-se na borda do documento a mensagem "Este documento foi assinado digitalmente por FULANO DE TAL. Para verificar a autenticidade deste documento acesse http://www.site.com.br/autenticacao e digite o código ABC-DEF-GHI-JKL".
       
      Reproduzindo o comportamento acima, busca-se imprimir o documento assinado digitalmente com a "permanência" de sua fé pública, pois ainda que ao ser impresso o mesmo a perca (resposta 5 das questões jurídicas do ITI, link: https://www.iti.gov.br/perguntas-frequentes/41-perguntas-frequentes/567-questoes-juridicas#r5), há uma ressalva:
       
      Ou seja, o que procuro é aproveitar a citada ressalva, que nada mais seria que uma alternativa livre/opensource ao Portal de Assinaturas da Certisign (http://www.portaldeassinaturas.com.br), por exemplo (bem como os seus concorrentes).
       
      Saberiam informar algum sistema que faça o exposto acima (ou se aproxime disso)?
       
      Obrigado.
    • By Felipe PC
      Boa tarde pessoal,
       
      Estou tendo dificuldades na publicação de aplicativo na Apple Store a partir do visual studio para Mac. Eu faço um build e chego até a parte em que sou solicitado a  carregar o arquivo de extensão ipa ao Application Loader. Após isso, o programa começa a fazer a leitura das configurações do arquivo, porém, a um determinado momento. Surge um erro dizendo que está faltando um certificado ou certificado inválido.
      Busquei na internet algo, mas não me ajudou. Alguém poderia me passar quais são os parâmetros para que eu possa criar o(s) certificado(s)? 
      Preciso muito dessa ajuda!
      Obrigado
    • By RickSilva
      Olá galera. 
       
      Ultimamente tenho estudado para concursos na area de TI e percebi que em muitos concursos os cargos de nivel médio para area de TI exige somente o ensino medio completo + curso na area de TI com no minimo 120h com certificado expedido por instituição reconhecido pelo mec.
       
      A minha dificuldade, é onde achar um curso na area de TI e que a instituição seja reconhecida pelo mec, principalmente se o curso for ead.
       
      Fico Grato se puder me ajudar! 
       
       
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.