Assinatura de Código de Validação Extendida (Baseado em Token)

30 de nov. de 2021

Assinatura de Código de Validação Extendida (Baseado em Token)

Pré-requisitos

Esta guia pressupõe que você já:

  •  Fez o download e instalou o seu Certificado no seu Token de segurança.
  •  Instalou o Java JDK.  
  •  Direitos Administrativos podem ser necessários dependendo nas permissões definidas para a pasta bin Java JDK.

Configuração da Assinatura 

  1. Para permitir que o JDK acesse ao Token de segurança, primeiro irá precisar criar um arquivo de configuração. Abra qualquer editor de texto sem formatação e crie um arquivo chamado eToken.cfg . O arquivo deve conter 2, possivelmente 3 linhas.

    name=eToken
    library=c:\WINDOWS\system32\eTPKCS11.dll
    slot=3

     

Nota: O token padrão fornecido pela GlobalSign é o eToken 5110. O número do slot padrão, quando não especificado, é 0. O SafeNet eToken 5110 será automaticamente atribuído ao slot 0, portanto, não haverá necessidade da linha de slot no arquivo .cfg. No entanto, isso pode precisar ser alterado dependendo do número de leitores eTokens / SmartCard instalados. O número do slot padrão para o SafeNet Ikey 4000 é o slot 3. A linha do slot será necessária ao usar um SafeNet iKey 4000.
 

  1. Salve este arquivo na pasta bin JDK, por padrão é:

    C:\Program Files (x86)\Java\jdk1.7.0_67\bin
     
  2. Abra o prompt de comando:: Start Run cmd
     
  3. Navegue até a pasta Java JDK Bin:

    cd C:\Program Files (x86)\Java\jdk1.7.0_67\bin
     
  4. Para usar o token para assinar, você precisará encontrar o alias da sua chave privada. Isso permitirá que você faça referência ao certificado adequado ao assinar. Execute o seguinte comando na pasta bin:

    keytool -list -keystore NONE -storetype PKCS11 -providerclass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg

    Digite a senha do keystore: “Your Token Password”

    Nota do erro: Se você receber o seguinte erro: "java.security.KeyStoreException: PKCS11 não encontrado" neste momento. Existem 2 possíveis problemas com a configuração:
     
    • O número do slot especificado não é o slot correto. Para encontrar o slot apropriado, defina o número do slot como zero no seu arquivo eToken.cfg (slot = 0). Tente executar o comando list novamente, incrementando o número do slot em 1 a cada iteração do erro. Você deve receber o prompt Enter KeyStore Password que aceitará sua senha do SafeNet Token. * Consulte: Etapa 1 da configuração da assinatura.
    • Drivers SafeNet não estão instalados corretamente. Verifique se os drivers adequados estão instalados.
       
  5. A saída é composta pelo alias da chave, pelo tipo de chave e pela impressão digital do certificado. Nós iremos precisar do alias do certificado de assinatura do código EV para realmente assinar o arquivo.

    le-d0e453de-66db-414a-8fa8-0a07cfad66b5, PrivateKeyEntry, Certificate fingerprint (SHA1): 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
     
  6. Se houver mais de um certificado no seu token, talvez seja necessário discernir qual certificado usaremos. Abra o Safenet Authentication Client, pressione o ícone de engrenagem na parte superior:

  1. Encontre o certificado de assinatura de código EV GlobalSign instalado e clique duas vezes nele. Isso exibirá os detalhes do certificado.
    Selecione a guia Detalhes, role para a parte inferior e a Impressão digital estará lá:
  2.  Combine a impressão digital do certificado com o alias adequado em sua saída. Nesse caso, será a primeira entrada:
  3. le-d0e453de-66db-414a-8fa8-0a07cfad66b5, PrivateKeyEntry, Certificate fingerprint (SHA1): 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
  4. Copie o alias (por exemplo, le-d0e453de-66db-414a-8fa8-0a07cfad66b5) para usar em nosso próximo comando..


 

Assinando um arquivo .Jar

  1. Agora que acessamos o token com sucesso e recebemos o alias de nossos certificados, podemos assinar o arquivo .jar. Você precisará colocar o arquivo .jar que está entrando no diretório bin.
     
  2. Na linha de comando, navegue até o diretório bin do Java SDK (por exemplo, C: \ Arquivos de Programas (x86) \ Java \ jdk1.7.0_67 \ bin)
  3. O comando usado para assinar é:

    jarsigner -keystore NONE -storetype PKCS11 -tsa http://timestamp.globalsign.com/scripts/timestamp.dll -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg test.jar "le-d0e453de-66db-414a-8fa8-0a07cfad66b5" 
    Nota: A hora de marcar o seu código é extremamente importante e é altamente recomendada para cada parte do código que você assina. Esse registro de data e hora permitirá que o arquivo que você assina permaneça válido por muito tempo após a expiração do próprio certificado.

 

Erros Comuns

  1. Aviso: A cadeia de certificados do assinante não é validada.

    Você precisará importar o GlobalSign Extended Validation Code Signing CA – SHA256 - G2 intermediate para o seu token para garantir que as cadeias de assinaturas sejam estruturadas e funcionem adequadamente.

Related Articles

GlobalSign Alertas de sistema

Ver alertas recentes do sistema

Ver Alertas

Atlas Discovery

Faça a varredura de seus terminais para localizar todos os seus certificados.

Inscrever-se

Teste de configuração SSL

Verifique a instalação do seu certificado quanto a problemas e vulnerabilidades de SSL.

Contate o Suporte