Ir para conteúdo
  • Cadastre-se

dev botao

Usar certificado instalado no repositório do Windows


Ver Solução Respondido por Daniel Simoes,

Recommended Posts

  • Membros Pro
Postado

Caros,

É possível utilizar os certificados instalados no repositório do Windows? Ou só existe a opção informando o caminho do arquivo PFX e senha? Se possível, os métodos para serem usados no Java.

  • Consultores
Postado

Verifique a documentação da ACBrLib que você vai utilizar.

no caso da NFe https://acbr.sourceforge.io/ACBrLib/NFE_ObterCertificados.html

 

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Membros Pro
Postado

Existe algum lugar que explica as recomendações com relação aos parametros, por exemplo, esses parametros de comunicação, SSLCryptLib, SSLHttpLib e etc, vi as opções que tem no manual, estou usando wincrypt, Winhttp mas não sei se são os recomendados, de melhor performance e etc.
Desculpe as dúvidas, é que estou começando a me aprofundar pra valer e usar a LIB agora.

  • Curtir 1
  • Consultores
Postado

veja se esse tópico te ajuda.

Fique a vontade para perguntar... estamos aqui pra ajudar mesmo!

  • Curtir 2
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Membros Pro
Postado (editado)

Ao usar SSLCryptLib com 1 e SSLHttpLib com 3 recebo o seguinte erro quando tendo rodar o método obterCertificados():

java.lang.Exception: "CarregarCertificadoDeNumeroSerie" não suportado em: TDFeOpenSSL
    at [email protected]/com.acbr.ACBrLibBase.checkResult(ACBrLibBase.java:116)
    at br.com.prodata.prodfe.mdfe/br.com.prodata.prodfe.mdfe.acbr.ACBrMDFe.obterCertificados(ACBrMDFe.java:364)
    at br.com.prodata.prodfe.app/br.com.prodata.prodfe.app.controllers.PrincipalCTR.principal_btn_mdf_Click(PrincipalCTR.java:142)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)

usando essa configuração eu consigo ler os certificados instalados no repositório do windows normalmente ou só com os arquivos pfx do certificado?

Editado por marcoprodata
  • Membros Pro
Postado
5 minutos atrás, Renato Rubinho disse:

Para usar o certificado instalado no windows você deve utilizar wincrypt, openssl não dá suporte a este recurso.

Eu perco alguma coisa por usar winCrypt? Segurança, velocidade? Posso usar o winCrypt com o httpOpenSSL ?

  • Consultores
Postado
2 minutos atrás, marcoprodata disse:

Eu perco alguma coisa por usar winCrypt? Segurança, velocidade?

Ele depende do Windows estar atualizado e alguma atualização futura pode eventualmente gerar problemas.

3 minutos atrás, marcoprodata disse:

Posso usar o winCrypt com o httpOpenSSL ?

Não me lembro de nada que impeça, mas não vejo motivo. 

A utilização a Openssl é recomendada, pois é autossuficiente, basta a distribuição das dlls conforme explicado no tópico que o Alexandre passou.

2 horas atrás, marcoprodata disse:

Se possível, os métodos para serem usados no Java.

Você citou utilizar Java, mas quem irá se comunicar e utilizar o certificado será a lib, com isso, você não precisaria instalar o certificado, pode utilizar o arquivo do certificado diretamente, o que inclusive diminui o trabalho, não tendo que instalar o certificado.

Na minha opinião, Openssl é a opção mais indicada sempre, por ser independente.

  • Membros Pro
Postado

Outra dúvida, pelo manual o metodo MDFe_statusServico recebe dois parametros, mas na lib java, usando a classe de alto-nivel o método statusServico não recebe nenhum parametro, sei que ele grava o retorno do status em um xml na pasta que eu escolhi, mas como pegar o retorno do status sem ter que ler o xml gravado na pasta?

3 minutos atrás, Renato Rubinho disse:

Ele depende do Windows estar atualizado e alguma atualização futura pode eventualmente gerar problemas.

Não me lembro de nada que impeça, mas não vejo motivo. 

A utilização a Openssl é recomendada, pois é autossuficiente, basta a distribuição das dlls conforme explicado no tópico que o Alexandre passou.

Você citou utilizar Java, mas quem irá se comunicar e utilizar o certificado será a lib, com isso, você não precisaria instalar o certificado, pode utilizar o arquivo do certificado diretamente, o que inclusive diminui o trabalho, não tendo que instalar o certificado.

Na minha opinião, Openssl é a opção mais indicada sempre, por ser independente.

No meu caso, tenho vários clientes que tem certificado A3, então de qualquer forma vou ter que acabar usando o wincrypt, correto?

  • Consultores
Postado

Quais informações você está recebendo nas classes de alto nível e quais estão faltando?

Uma alternativa é consultar os dados recebidos na variável que você passa no primeiro parâmetro do método, conforme o exemplo de responsta que consta na documentação: https://acbr.sourceforge.io/ACBrLib/MDFE_StatusServico.html
 

33 minutos atrás, marcoprodata disse:

No meu caso, tenho vários clientes que tem certificado A3, então de qualquer forma vou ter que acabar usando o wincrypt, correto?

Sim, para o A3 precisará ser Wincrypt.
 

  • Membros Pro
Postado
14 minutos atrás, Renato Rubinho disse:

Quais informações você está recebendo nas classes de alto nível e quais estão faltando?

Uma alternativa é consultar os dados recebidos na variável que você passa no primeiro parâmetro do método, conforme o exemplo de responsta que consta na documentação: https://acbr.sourceforge.io/ACBrLib/MDFE_StatusServico.html
 

Sim, para o A3 precisará ser Wincrypt.
 

Mas a questão era exatamente essa, que no método não existe o parametro pra ser passado, acabei descobrindo que o retorno da função é o conteúdo da resposta, acabou que deu certo.

 

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.