Assinador Serpro não Executa (OUTUBRO 2023) - Se alguem puder ajudar
-
@speedmaster Passei pelo mesmo perrengue relatado por você.
Acontece que a versão atualizada quando mostra essa linha:
Caused by: java.util.MissingResourceException: Can't find bundle for base name assinador_messages, locale en_USDiz que esta procurando por um arquivo para um local que não o local do "Brasil", no caso, o Windows pode estar configarado em Inglês e com as regiões de local para exibição de outro pais.
Acabei achando uma forma de modificar a inicialização do programa de modo a "forçar" ele ignorar as configurações do PC e usar o que ele têm. Que é a configuração para o Brasil, deu certo.
O programa é instalado por padrão nesta pasta do Windows:
C:\Program Files (x86)\Assinador SerproQuando se executa o programa por sua icone (pelo arquivo exec_assinador.vbs), este nada mais faz do que executar um arquivo script .BAT como administrador do sistema:
signerDesktopAgent.batModificando o conteúdo desse arquivo .bat conseguimos forçar o programa deles a ser executado usando as configurações esperadas pelo programa - ignorando totalmente as configurações do PC/Windows.
Vou compartilhar como ficou o conteúdo do meu arquivo .bat aqui (basta escrever em cima do atual - pra salvar precisa salvar como administrador):
Isso resolveu pra mim após perder quase um dia inteiro quebrando a cabeça.@echo on set SIGNER_DESKTOP_HOME=%~dp0 :SET_BUNDLED_JAVA rem bundle set JAVA=%SIGNER_DESKTOP_HOME%java\bin\java rem parametros da JVM set JAVA_OPTS=-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Djava.net.useSystemProxies=true -XX:+AggressiveOpts -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.1,TLSv1.2 -Duser.timezone=GMT-3 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.1 -Duser.language=pt -Duser.country=BR rem -Djava.compiler=NONE -Xnoagent -Xdebug -Xrunjdwp:transport=dt_socket,address=2502,server=y,suspend=n rem set path IF EXIST "C:\Program Files (x86)\Mozilla Firefox\" SET PATH=%PATH%;C:\Program Files (x86)\Mozilla Firefox\ IF EXIST "C:\Program Files\Mozilla Firefox\" SET PATH=%PATH%;C:\Program Files\Mozilla Firefox\ echo "PATH %PATH%" rem ********* executando signer desktop *********** "%JAVA%" %JAVA_OPTS% -cp "%SIGNER_DESKTOP_HOME%lib\serpro-signer-4.2.0-JAVA7.jar;%SIGNER_DESKTOP_HOME%lib\plugins\*" org.demoiselle.signer.serpro.desktop.Main
-
Estou com o mesmo problema. Percebi que alterando a língua do windows de Inglês para Pt-Br o programa roda... mas é complicado ficar alterando a língua do windows toda hora, tem que fazer logout e login de novo, e é um transtorno. Tentei a solução do @fu_sa mas aqui não funcionou. Alguém descobriu outra solução?
Complementando, por enquanto a sugestão do @speedmaster está funcionando.
-
Já tentei todas as soluções e até agora a unica que funciona mesmo é a versão 2.7 vamos ver por quanto tempo.
Vi que tem uma versão nova do assinador mas nem estou querendo mexer com a que está instalada e funcionando senão fico sem certificado.
Obrigado pelo post, vamos tentar manter a thread ativa até ver se alguém do suporte do Serpro fala alguma coisa, é impressionante o descaso com o contribuinte. Ninguém, sequer dá um alô apesar da resposta automatica acusar o recebimento da minha mensagem sobre o assunto para o suporte deles.
Abraços
Speed -
No meu caso o problema era exatamente a linguagem, o Java procura PT_BR e meus computadores todos estavam em EN_US. A maneira mais fácil de fazer isso é instalar o pacote de linguagem e mudar o padrão para PT_BR. Tem um jeito mais avançado de fazer na mão criando variáveis de ambiente somente para a sessão mas precisa de conhecimento tecnico.
Não testei no Macbook, mas a lógica deve aplicar. se mudar pra PT_BR deve funcionar.
Espero que ajude -
Tambem achei que fosse pela mensagem que fala em language. Exatamente o que você fez? Instalou o Keyboard PT-BR ou toda a linguagem? Vou tentar fazer isso e ver se funciona. Por enquanto a versao anterior tem funcionado sem problemas.
Obrigado pelo reply
Cheers -
@speedmaster Eu instalei o pacote inteiro de linguagem, não mudei o teclado não pq o meu é US, so fazendo isso e reiniciando deu certo de primeira. Tenta executar o arquivo bat na linha de comando ai vc vê quais variáveis ele está "setando" e qual erro deu.
-
Beleza, obrigado
-
@fu_sa @speedmaster
Obrigado pela solucão.
Tentei o seu script como colocado aqui, mas não funcionou.
Tem um erro, acredito, na linha:set JAVA=%SIGNER_DESKTOP_HOME%java\bin\java
(faltou uma barra invertida depois do HOME%)E na ultima linha, no meu sistema ficou diferente também.
serpro-signer-4.2.0-JAVA7.jar,
deve ser apenas serpro-signer-4.2.0.jarColoco aqui como funcionou no meu computador, com a versão 4.2.0, para aqueles que quiserem tentar:
@echo on set SIGNER_DESKTOP_HOME=%~dp0 :SET_BUNDLED_JAVA rem bundle set JAVA=%SIGNER_DESKTOP_HOME%\java\bin\java :SET_SYSTEM_JAVA set JAVA=java :END_SETTING_JAVA rem parametros da JVM set JAVA_OPTS=-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Djava.net.useSystemProxies=true -XX:+AggressiveOpts -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.1,TLSv1.2 -Duser.timezone=GMT-3 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.1 -Duser.language=pt -Duser.country=BR rem -Djava.compiler=NONE -Xnoagent -Xdebug -Xrunjdwp:transport=dt_socket,address=2502,server=y,suspend=n rem set path IF EXIST "C:\Program Files (x86)\Mozilla Firefox\" SET PATH=%PATH%;C:\Program Files (x86)\Mozilla Firefox\ IF EXIST "C:\Program Files\Mozilla Firefox\" SET PATH=%PATH%;C:\Program Files\Mozilla Firefox\ echo "PATH %PATH%" rem ********* executando signer desktop *********** "%JAVA%" %JAVA_OPTS% -cp "%SIGNER_DESKTOP_HOME%lib\serpro-signer-4.2.0.jar;%SIGNER_DESKTOP_HOME%lib\plugins\*" org.demoiselle.signer.serpro.desktop.Main
-
@R2D2-1 @fu_sa @speedmaster
Primeiramente, obrigado a todos pelo espírito de cooperação!A algumas semanas também tentei usar a sugestão do @fu_sa, mas não roudou... depois tentei alterar somente a linha 24 de:
set JAVA_OPTS=-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Djava.net.useSystemProxies=true -XX:+AggressiveOpts -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.1,TLSv1.2 -Duser.timezone=GMT-3 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.1para:
set JAVA_OPTS=-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Djava.net.useSystemProxies=true -XX:+AggressiveOpts -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.1,TLSv1.2 -Duser.timezone=GMT-3 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.1 -Duser.language=pt -Duser.country=BRSomente adicionei " -Duser.language=pt -Duser.country=BR" ao final e começou a funcionar.
Porém ainda assim não conseguia usar o e-CAC para fazer a procuração usando meu cerificado A3. Eu conseguia usar o certificado para entrar no Portal mas não funcionava na hora de assinar a procuração. Resolvi então fazer um novo certificado, agora o Em Nuvem da prápria Serpro (NeoID). Funcionou de primeira!!
Agora não sei se foi somente por causa do novo certificado ou se foi pelo conjunto de modificações feitas.
obs: estou usando a versão 4.2.0
Abraço a todos.
-
Obrigado, sua solução é a melhor e a mais fácil: foi só configurar o idioma de exibição para o português e tudo funcionou.