nfephp-org / nfephp

PROJETO DEPRECATED use sped-nfe
https://github.com/nfephp-org/sped-nfe
Other
693 stars 688 forks source link

Geração da autenticacao do XML #983

Closed batata004 closed 6 years ago

batata004 commented 6 years ago

Amigo,

Antes de mais nada gostaria de parabenizá-lo pela biblioteca, show de bola! Mas estou com uma dúvida: li um post seu no WIKI falando que com o certificado do tipo A3 (token) não será possível autenticar documentos no servidor pois o token tem que estar conectado diretamente no computador e com os drivers instalados.

Então 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 tua biblioteca e usando o certificado do tipo A1? Eu procurei bastante no código e não descobri como que gero essa parte final do arquivo XML.

Grato por sua ajuda!


                <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+vgVIYy6t5V2uClQU/1hWwjwEG/L9r3kkOmE11dBggoKhdyVpVFAjFjB5kFSUc309Vl yZv4uIeD11kHcAVlxGQ8JiGiv6wLC37lNp9bfHl67lIK4cgVxJHMyyiyNduoH2Ingq+JLw+J8q5V Qpc/gUTesSeOtjarBLtY4D0om7eMPjPldgRfKpwSg9FdmgID1UlFcBH6JvyTrdVAcYLC0Et8KKAx oqULFRgqBuu9Vcax7n8LrJLzLJqsqrqVFNRakwaKBedbpXICAO+MFh2Aeq8wiCtfDqRQ2oo5ODo2 syFEnpzgsjsO85cLgq9p0M3G3VlpFoeRwQnlMA==
                    </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>1c28f49fd377eec2a94602f988f1d180</ds:X509SerialNumber>

                            </ds:X509IssuerSerial>

                            <ds:X509Certificate>
                            MIIIPDCCBiSgAwIBAgIQXF4X2+PUuWBo7SmU1Tak7zANBgkqhkiG9w0BAQsFADCBgDELMAkGA1UE BhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0 YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEkMCIGA1UEAxMbQUMgSW5zdGl0dXRvIEZlbmFjb24g UkZCIEczMB4XDTE3MDUyMjE3MDEyMFoXDTE4MDUyMjE3MDEyMFowggEEMQswCQYDVQQGEwJCUjET MBEGA1UECgwKSUNQLUJyYXNpbDELMAkGA1UECAwCU0MxFjAUBgNVBAcMDUZMT1JJQU5PUE9MSVMx NjA0BgNVBAsMLVNlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEW MBQGA1UECwwNUkZCIGUtQ05QSiBBMTE3MDUGA1UECwwuQXV0ZW50aWNhZG8gcG9yIEFSIFNlc2Nv biBHcmFuZGUgRmxvcmlhbm9wb2xpczEyMDAGA1UEAwwpTVVOSUNJUElPIERFIEZMT1JJQU5PUE9M SVM6ODI4OTIyODIwMDEyMDQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh2FregECm Sik4UErbxsVVZYdj/ttf07qidaB+XOtXHxSpipAmCwyqBzaiXKUFyfFDHXzrvmYiFj8TUJ28xVzd InDkRnyi4xSIEt2ZUAkurVVed13y5eKj/NUDpJMCfvBvaTgxDsPggoBvPRCYNK8PsiwsqeGvsvY2 f8JaRp3gdGVuVtC68/x+3jdMWBoIRLd3nPRdEhy2TF96ux7eqV4WUY4KL2fQAXJjQp1HPHjOPBTl J9t0igtJn/5UFFNw2HmG4VytMS1tk4Bg7oOPq9PgGiZhiHVTXiMFq9byB8/9rVrQH4RYO5rGX6L7 7RfDmFuaDCPklV86PBWymcamBvB9AgMBAAGjggMpMIIDJTCBswYDVR0RBIGrMIGooD0GBWBMAQME oDQEMjA5MTAxOTcyODIzMzQxOTY5OTEwMDAwMDAwMDAwMDAwMDAwMDAwMDc3ODQ5NVNTUFNDoCAG BWBMAQMCoBcEFUdFQU4gTUFSUVVFUyBMT1VSRUlST6AZBgVgTAEDA6AQBA44Mjg5MjI4MjAwMTIw NKAXBgVgTAEDB6AOBAwwMDAwMDAwMDAwMDCBEW5mZUBwbWYuc2MuZ292LmJyMAkGA1UdEwQCMAAw HwYDVR0jBBgwFoAUJseUPXqHfn9LeIqHPeDPtc6psNowgYYGA1UdIAR/MH0wewYGYEwBAgEiMHEw bwYIKwYBBQUHAgEWY2h0dHA6Ly9pY3AtYnJhc2lsLmFjZmVuYWNvbi5jb20uYnIvcmVwb3NpdG9y aW8vZHBjL0FDLUluc3RpdHV0by1GZW5hY29uLVJGQi9EUENfQUNfSUZlbmFjb25fUkZCLnBkZjCB ygYDVR0fBIHCMIG/MF6gXKBahlhodHRwOi8vaWNwLWJyYXNpbC5hY2ZlbmFjb24uY29tLmJyL3Jl cG9zaXRvcmlvL2xjci9BQ0luc3RpdHV0b0ZlbmFjb25SRkJHMy9MYXRlc3RDUkwuY3JsMF2gW6BZ hldodHRwOi8vaWNwLWJyYXNpbC5vdXRyYWxjci5jb20uYnIvcmVwb3NpdG9yaW8vbGNyL0FDSW5z dGl0dXRvRmVuYWNvblJGQkczL0xhdGVzdENSTC5jcmwwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQW MBQGCCsGAQUFBwMCBggrBgEFBQcDBDCBuwYIKwYBBQUHAQEEga4wgaswZgYIKwYBBQUHMAKGWmh0 dHA6Ly9pY3AtYnJhc2lsLmFjZmVuYWNvbi5jb20uYnIvcmVwb3NpdG9yaW8vY2VydGlmaWNhZG9z L0FDX0luc3RpdHV0b19GZW5hY29uX1JGQkczLnA3YzBBBggrBgEFBQcwAYY1aHR0cDovL29jc3At YWMtaW5zdGl0dXRvLWZlbmFjb24tcmZiLmNlcnRpc2lnbi5jb20uYnIwDQYJKoZIhvcNAQELBQAD ggIBAERKrUntRX36Ar6JbK5ieGFvGU7D1OXAl3EQ8ACVTS9x9m2w03PU1f9SxFx5eyEtw5PTibQB THidvzGqYadUwogG0g5VQamnRUHyk9uSjmi8KpmbI5wX4G7Md+y5jqu2DRcwUWlko2FCEAk/x54L zplIY99MDDH1+Tawbj8PXbhZk2dzFrJXwLu+is6RyI9LwwJwLyWyeWzyuBI0WUYLE7jD3PgDO95b 4QTqDgNkd2dLaaUwk09L0BFPSMiPVavkW7BhkkXNtzC9S5p+Pk2qK67PVC7fFT4IyOg3+T4qPczp hY7eUKocLDU0vaP6iiMkxg5d1/hEbKT0KfoZLk5loy88BgdKMAHZkKFOPTnpMJYZA46UCj2dQG15 lM4nSGmwiwLY6UER1lxQe1NR2KRH65OAwDuGnapCoQqPNmycMC8DrZI/YL3nCY9UI5DUhb86Jhgx gdeBkMpdNe6Gx2NBLe/j46OAs+QqzW0fjkyd6NWLGVQVj18zR3EmqRF0UnV1uAkHUzPBgDfCN87y TwpN9byhROi2mVJ5sav3R3l7U1KYXnZXzkiM6NHrj/wgx3DtHmzdl+fGlGKI5rOIjYLyHS+cUF5e qPMLAgjE5X2w0Tdn8A33A/lQzoCszBMqZt+tuvFyqmeKYZrNi+b3ASsCPMclrcO5Zy5VBvsJL3s+ nqWN
                            </ds:X509Certificate>

                        </ds:X509Data>

                    </ds:KeyInfo>

                </ds:Signature>
robmachado commented 6 years ago

Esta API (descontinuada) não serve para notas de prefeituras e para essa assinatura deve ser escrito um código especifico pois é muito diferente do padrão usado nas notas estaduais.

batata004 commented 6 years ago

Puxa que pena! Mas você saberia me indicar algum termo de busca que eu poderia digitar no Google para poder gerar esse código? Eu nem sei por onde começar pois não estou familiarizado com certificados digitais.

robmachado commented 6 years ago

Voce pode estudar os códigos do sped-common tem as classes que usam os certificados e a classe que cria as assinaturas vide https://github.com/nfephp-org/sped-common

batata004 commented 6 years ago

Muito obrigado amigo, farei isso agora mesmo! Se não for abusar da tua paciência gostaria de só tirar mais uma última dúvida: uma coisa que eu não entendo é exatamente o que estarei "assinando" nesse XML. Digo, o XML que enviarei para a prefeitura possui várias linhas (dados do tomador, prestador...) e no final tem essas linhas referentes ao certificado digital. Essas linhas mudam para cada requisição ou elas são fixas e basta eu extrair esses dados do meu certificado digital?

OBRIGADO!

robmachado commented 6 years ago

Não dá para te explica "tudo sobre" por email, a conversa é longa !!

E me faltam informações sobre o XML dessa cidade para eu responder algumas perguntas que você faz.

Roberto

batata004 commented 6 years ago

Não tomarei mais seu tempo amigo, obrigado por suas respostas :)