Home Forums Fórum de Desenvolvedores de Sistemas NFC-e Método para assinatura em Ruby

Tagged: 

This topic contains 7 replies, has 3 voices, and was last updated by  Mathusalém Oliveira Netto 9 years, 5 months ago.

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #1213

    Thaís Monti Macedo
    Participant

    Olá,

    Gostaria de saber se alguém pode fornecer um método de assinatura de NFC-e em Ruby. Estou tentando utilizar o método assinar da gem nfe-paulistana do Iugu, mas a assinatura é considerada inválida pelo validador RS e pelos webservices da SEFAZ SP e SEFAZ AM.

    Alguém?

    Obrigada.

    #1299

    Olá Thaís, entrei no fórum a poucos dias e vi sua dúvida aqui, eu usei uma gem chama signer e aparentemente está funcionando perfeitamente. Se ainda for necessário, posso te passar o código.

    Porém não estou conseguindo me autenticar com os webservices da sefaz,você conseguiu, pode me dar um exemplo ou me dizer o que utilizou?

    Obrigado.

    #1301

    Thaís Monti Macedo
    Participant

    Oi Henrique! Vc está dizendo que a sua assinatura não está sendo validada pelos webservices?

    #1302

    Oi Thaís, então, na verdade eu não sei como me conectar com os webservices, eu já tentei com a gem savon, net/http e rest-client mas não consigo me conectar, não chego nem a enviar o xml para validar. Testei com outras url wsdl e consegui, mas quando tento com a da SEFAZ não funciona e nos três casos da o mesmo erro:

    SSL_CTX_use_PrivateKey: key values mismatch (OpenSSL::SSL::SSLError)

    Como você fez para se conectar/autenticar com o ws?

    Obrigado.

    #1303

    Thaís Monti Macedo
    Participant

    Oi Henrique, eu não tenho o código pra te passar pois já terminei meu estágio na empresa em que desenvolvi isso. Eu me lembro de ter usado net/http, como nesse link http://www.rubyinside.com/nethttp-cheat-sheet-2940.html , na sessão SSL/HTTPS request with PEM certificate. Tenta ver se vc consegue fazer o post sem ser em ruby, usando o SoapUi, pq pra fazer o post pros webservices da fazenda vc precisa ter no seu computador as autoridades certificadoras da SEFAZ. Vc pode fazer o download deles nessa página: http://www.sefaz.am.gov.br/noticias/exibenoticia.asp?codnoticia=10405 . Porque talvez o problema é que vc não está com os certificados corretos pra poder fazer um post pra sefaz.

    #1309

    Olá Thaís, obrigado pela dica, eu já estava usando o SoapUi e consegui consumir o web service, na verdade só consegui fazer o request para o web service que verifica o status do serviço, mas acredito que não consegui fazer com os outros por conta do meu xml. Então acredito que está tudo ok quanto a autoridades certificadoras, depois que você me passou esse link da sefaz e adicionei os certificados em meu computador e pelo menos consegui abrir o xml do web service no browser, o que não estava acontecendo.

    O que eu tenho:
    certificado.pfx
    certificado.pem(converti o .pfx para .pem)
    os certificados da sefaz(link que você me passou)

    Meu código:
    uri = URI.parse(‘https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl’)
    pem = File.read(“cert/cert.pem”)
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    http.cert = OpenSSL::X509::Certificate.new(pem)
    http.key = OpenSSL::PKey::RSA.new(pem)
    http.verify_mode = OpenSSL::SSL::VERIFY_PEER

    http.start

    O erro:
    SSL_CTX_use_PrivateKey: key values mismatch (OpenSSL::SSL::SSLError)

    #1312

    Thaís Monti Macedo
    Participant

    Oi Henrique, me desculpe pela demora. Então, no http.key eu coloquei o arquivo da chave mesmo, e não do certificado.

    #1571

    Bom dia Henrique,

    Nós estamos passando pela mesma dificuldade com a assinatura. Você poderia postar o seu código para comparar-los? Grato

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.