Home › Forums › Fórum de Desenvolvedores de Sistemas NFC-e › Método para assinatura em Ruby
Tagged: Ruby
This topic contains 7 replies, has 3 voices, and was last updated by Mathusalém Oliveira Netto 9 years, 5 months ago.
-
AuthorPosts
-
10 de dezembro de 2014 at 18:02 #1213
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.
10 de março de 2015 at 12:23 #1299Olá 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.
12 de março de 2015 at 1:48 #1301Oi Henrique! Vc está dizendo que a sua assinatura não está sendo validada pelos webservices?
12 de março de 2015 at 16:46 #1302Oi 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.
13 de março de 2015 at 0:31 #1303Oi 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.
18 de março de 2015 at 8:53 #1309Olá 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_PEERhttp.start
O erro:
SSL_CTX_use_PrivateKey: key values mismatch (OpenSSL::SSL::SSLError)24 de março de 2015 at 22:20 #1312Oi Henrique, me desculpe pela demora. Então, no http.key eu coloquei o arquivo da chave mesmo, e não do certificado.
2 de dezembro de 2015 at 8:16 #1571Bom dia Henrique,
Nós estamos passando pela mesma dificuldade com a assinatura. Você poderia postar o seu código para comparar-los? Grato
-
AuthorPosts
You must be logged in to reply to this topic.