Certificados A1 mais recentes (emitidos a partir de 2023/2024) costumam usar algoritmos mais novos (como AES-256-CBC com HMAC-SHA256) que versões antigas do OpenSSL não reconhecem, e vice-versa.
O que verificar/fazer:
- Checar a versão das DLLs OpenSSL na pasta do JuxtaPOS (
C:\Juxta\JuxtaPOS\). Procure porlibeay32.dllessleay32.dll(OpenSSL 1.0.x) oulibssl-1_1.dllelibcrypto-1_1.dll(OpenSSL 1.1.x) ou atélibssl-3.dllelibcrypto-3.dll(OpenSSL 3.x). Veja qual versão está lá. - Substituir as DLLs do OpenSSL — o mais provável é que você precise de uma versão compatível. Se o ACBr/componente NFe que você usa é recente, tente colocar as DLLs do OpenSSL 1.1.x (64 ou 32 bits conforme seu executável). Você pode baixar do site do Fulgan ou do slproweb.com.
- Alternativa: converter o PFX para um formato compatível com a versão do OpenSSL que você tem. Usando o OpenSSL na linha de comando:
openssl pkcs12 -in certificado_novo.pfx -out temp.pem -nodes
openssl pkcs12 -export -in temp.pem -out certificado_compativel.pfx -legacy
A flag -legacy força o uso de algoritmos antigos no PFX. Depois aponte o JuxtaPOS para esse novo PFX.
- Se mudou para WinCrypt e mesmo assim dá erro, o segundo print mostra que
DadosPFX, ArquivoPFX, URLPFX ou NumeroSerie não especificados— isso indica que ao trocar para WinCrypt, os campos de configuração do certificado não foram preenchidos corretamente. No modo WinCrypt, você precisa informar o Número de Série do certificado instalado no Windows (via certmgr.msc), não o caminho do arquivo PFX.
Resumindo a ordem de tentativa:
- Primeiro tenta trocar as DLLs do OpenSSL por versões 1.1.x compatíveis
- Se não resolver, converte o PFX com a flag
-legacy - Se for usar WinCrypt, configura pelo Número de Série do certificado instalado no repositório do Windows, não pelo arquivo
