en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Assinatura de código Microsoft Authenticode no Linux com Jsign

Jsign é uma ferramenta Java de código aberto e independente de plataforma para assinatura de código Microsoft Authenticode. Jsign é fácil de integrar com sistemas de construção como Maven, Gradle e Ant, ou pode ser usado diretamente da linha de comando.

Neste tutorial, vamos cobrir o uso de Jsign da linha de comando do Linux para Assinatura de código OV / IV e Assinatura de código EV. Como o Jsign é baseado em Java, você também pode usá-lo em sistemas Windows e MacOS.

Instale o Jsign

Primeiro, você terá que baixar e instalar o Jsign. o Site Jsign inclui links para pacotes Debian e RPM para fácil instalação nos sistemas Linux mais populares, bem como um .jar arquivo.

Assinatura de código OV / IV

Para assinatura de código OV / IV padrão, você pode usar um certificado armazenado em um keystore Java ou arquivo PKCS # 12 (PFX). SSL.com entrega certificados de assinatura de código no formato PKCS # 12, então usaremos isso em nosso exemplo. Em todos os exemplos de código abaixo, substitua os valores mostrados em MAIÚSCULAS por seus valores reais.

  1. Primeiro, use o keytool comando para obter o alias valor a ser usado ao assinar:
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
  2. Verifique o resultado do seu keytool comando para uma linha que começa com Alias name:.
    Tipo de armazenamento de chave: PKCS12 Fornecedor de armazenamento de chave: SUN Seu armazenamento de chave contém 1 entrada Nome do alias: 1 Data de criação: 18 de janeiro de 2021 Tipo de entrada: PrivateKeyEntry Comprimento da cadeia de certificado: 4 ...

    No exemplo acima, Alias name is 1.

  3. Use um comando como o seguinte para assinar e registrar a data e hora de um arquivo:
    • jsign comando instalado em todo o sistema:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Com Jsigner .jar arquivo:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- PLACA
  4. Se o seu comando for bem-sucedido, você verá uma saída como esta:
    Adicionando assinatura Authenticode a example.exe

Assinatura do código EV

Você também pode usar Jsign com um certificado de assinatura de código EV. O exemplo aqui usa um SSL.com Certificado de assinatura de código EV instalado em um Token USB de chave de segurança validada FIPS 140-2.

  1. Primeiro, certifique-se de que OpenSC está instalado em seu sistema para que possa se comunicar com seu token por meio da API PKCS # 11. Em distros baseadas em Debian, como Ubuntu, você pode instalar OpenSC com apt:
    sudo apt instalar opensc
  2. Em seguida, crie um arquivo de configuração. O nome do arquivo é arbitrário, mas para os comandos de exemplo abaixo, usaremos eToken.cfg. Observe que o caminho para opensc-pkcs11.so pode variar em sua instalação do OpenSC, portanto, verifique antes de criar o arquivo de configuração.
    nome = OpenSC-PKCS11 descrição = SunPKCS11 via biblioteca OpenSC = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. Use o keytool comando para obter o alias valor a ser usado ao assinar:
    keytool -list -v -keystore NONE -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. Verifique o resultado do seu keytool comando para uma linha que começa com Alias name:. Se o seu token contiver vários certificados, verifique as datas de validade e o emissor na saída em relação ao seu certificado. Observe que os certificados de assinatura de código EV emitidos em YubiKey de SSL.com devem ter um nome alternativo de Certificate for PIV Authentication.
    Nome alternativo: Certificado para autenticação PIV Tipo de entrada: PrivateKeyEntry Comprimento da cadeia de certificados: 1 Certificado [1]: Proprietário: OID.1.3.6.1.4.1.311.60.2.1.3 = US, OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = Nevada, OID.20081614243 = Organização privada, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = EUA Emissor: CN = SSL.com EV Code Signing Intermediate CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US Número de série: 93f57a3bac6570c781580f63172e17 Válido de: Sex 12 de abril 46:04:2020 EDT 17 até: Sáb 12 de abril 46:04:2021 EDT XNUMX
  5. Use um comando como o seguinte para assinar e registrar a data e hora de um arquivo:
    • jsign comando instalado em todo o sistema:
      jsign --keystore eToken.cfg --alias "Certificado para autenticação PIV" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Com Jsigner .jar arquivo:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Certificado para autenticação PIV" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 ARQUIVO -ASSINAR
  6. Se o seu comando for bem-sucedido, você verá uma saída como esta:
    Adicionando assinatura Authenticode a example.exe

Verificar assinatura digital

  1. Você pode verificar se sua assinatura digital é válida visualizando os detalhes da assinatura no Windows.
    Assinatura digital está ok
  2. Você também pode usar SignTool no Windows para verificar a assinatura digital.
    signtool.exe verify / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' Arquivo: C: \ Users \ Aaron Russell \ Desktop \ example.exe Algoritmo do índice Timestamp =========== ================================= 0 sha256 RFC3161 Verificado com sucesso: C: \ Users \ Aaron Russell \ Desktop \ example.exe

Tamanhos máximos de arquivo suportados para assinatura de código no eSigner

eSigner Express 

50 MB para assinatura de código

How Tos relacionados

Inscreva-se no boletim informativo de SSL.com

O que é SSL /TLS?

Reproduzir Vídeo

Inscreva-se no boletim informativo de SSL.com

Não perca novos artigos e atualizações de SSL.com