Ferramenta JarSigner do JDK
Como efetuar um teste de assinatura digital
Publicado em
30/06/2015 16h14
Caso o Receitanet esteja emitindo algum erro no momento da assinatura digital de uma declaração, você pode utilizar a ferramenta jarsigner , disponibilizada juntamente com o JDK.
Proceda da seguinte maneira:
- Crie um arquivo de configuração PKCS11 no formato que o provider da Sun reconhece, com o nome de teste.cfg contendo o seguinte:
name=teste library=[caminho completo da biblioteca do driver do seu dispositivo]
Por exemplo:name=teste
library=/usr/local/lib/opencs-pkcs11.so - Busque o alias do certificado utilizando o programa keytool (do JDK):
[root@localhost tmp]# keytool -list -keystore NONE -storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg teste.cfg
Enter keystore password: digite_sua_senha
Resultado:Keystore type: PKCS11 Keystore provider: SunPKCS11-mydriver
Your keystore contains 1 entry
NomeContribuinte:99999999999's NomeDaAutoridadeCertificadora ID , keyEntry, Certificate fingerprint (MD5): 37:5F:F0:A3:23:A5:34:5F:69:4F :17:65:D3:36:9A:64 - Tente assinar um arquivo jar qualquer utilizando o certificado com o alias (parte em negrito resultado do comando anterior):
[root@localhost tmp]# jarsigner -keystore NONE -storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg teste.cfg myjar.jar " NomeContribuinte:99999999999's NomeDaAutoridadeCertificadora ID "
- Se o procedimento anterior gerar algum erro, reporte o problema para o fabricante ou fornecedor do dispositivo utilizado(token/smartcard).
- Caso não ocorra nenhum erro na assinatura, entre em contato com a equipe de suporte do Receitanet Java através do e-mail recnet.certifdigital-linux@serpro.gov.br informando:
- nome do fabricante do equipamento;
- arquivo de configuração utilizado no teste;
- o arquivo . jar assinado resultante do teste;
- o arquivo receitanet.log do diretório .receitanet do seu diretório home
- a mensagem de erro exibida pelo Receitanet na tentativa de assinar a declaração.