Guia de assinatura de código Java

Este guia o ajudará a assinar seu código Java com um OV / IV or EV certificado de assinatura de código de SSL.com. Estas instruções presumem que o Java Development Kit (JDK) está instalado em seu computador e que o keytool e jarsigner comandos estão incluídos em seu PATH. As instruções de assinatura do código Yubikey assumem que seu certificado está instalado no slot 9a de um YubiKey FIPS token, uma vez que são enviados por SSL.com.

A partir de 1º de junho de 2023, os Certificados de Assinatura de Código de Validação de Organização (OV) e Validação Individual (IV) da SSL.com foram emitidos em tokens USB Federal Information Processing Standard 140-2 (FIPS 140-2) ou por meio de nosso serviço de assinatura de código em nuvem eSigner. Esta alteração está em conformidade com os novos requisitos de armazenamento de chaves do Fórum de autoridade de certificação/navegador (CA/B) para aumentar a segurança das chaves de assinatura de código.

Se você ainda não tem um certificado de assinatura de código e não tem certeza de qual tipo precisa, leia este FAQ.

SSL.com's Assinatura de código OV / IV certificados são uma forma econômica de proteger seu código contra adulteração e comprometimento não autorizados, e estão disponíveis por apenas $ 64.50 por ano.

PEÇA AGORA

Assinatura de código OV/IV (somente para certificados OV/IV emitidos antes de 1º de junho de 2023)

Configuração

Método 1: gerar CSR e arquivo PFX no navegador

O método mais simples para começar rapidamente com a assinatura de código Java é gerar um CSR e arquivo PFX ao recuperar seu certificado de SSL.com e instalá-lo em um novo keystore Java.

Nota: Também é possível assinar o seu .jar arquivos diretamente com um arquivo PFX não convertido, adicionando o -storetype pkcs12 bandeira para o jarsigner comando.
  1. Siga as etapas mostradas em Pedido e recuperação de certificados de assinatura de código para solicitar seu certificado e baixar um arquivo PFX com seu certificado e chave privada.
  2. Importe o PFX para um novo armazenamento de chaves com a mesma senha usando o comando abaixo. (Substituir MY-CERTIFICATE.p12 e MY-KEYSTORE.jks com o nome real do seu arquivo PFX e o nome do arquivo que deseja fornecer ao armazenamento de chaves. Observe também que o destalias é arbitrário e você pode usar outro valor de alias, se desejar.)
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias codesigning
    Nota: O valor para -srcalias para o arquivo PFX baixado de SSL.com normalmente deve ser 1, mas você pode confirmar isso executando o comando keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 e verificando o valor mostrado para Alias name.
  3. Será solicitada uma senha para o armazenamento de chaves de destino e, em seguida, a senha do armazenamento de chaves de origem (a senha que você inseriu ao criar o PFX). Você também pode ver uma mensagem de aviso começando com Warning: The JKS keystore uses a proprietary format. Você pode ignorar esta mensagem com segurança.

Método 2: Gerar Par de Chaves e CSR com Java

Se você preferir gerar seu par de chaves e CSR com Java, siga as etapas nesta seção. O processo é o mesmo usado para criar um CSR para um SSL /TLS certificado em Java.

Criar keystore e par de chaves
  1. Primeiro, vamos criar um keystore e um par de chaves pública / privada. Java usa arquivos com a extensão .jks (Java KeyStore) para armazenar certificados e chaves criptográficas. Insira o seguinte comando para gerar um keystore e um par de chaves RSA de 3072 bits. (Substituir MY-KEYSTORE.jks com o nome que você gostaria que o arquivo tivesse.)
    keytool -genkeypair -alias codesigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. Você verá uma série de prompts. Primeiro, crie e verifique uma senha para o armazenamento de chaves e, em seguida, insira e verifique as informações solicitadas. (Substitua os valores mostrados em maiúsculas por suas próprias informações.)
    Digite a senha do keystore: Digite novamente a nova senha: Qual é seu nome e sobrenome? [Desconhecido]: NOME SOBRENOME Qual é o nome da sua organização? [Desconhecido]: EMPRESA Qual é o nome da sua Cidade ou Localidade? [Desconhecido]: CIDADE Qual é o nome do seu Estado ou Província? [Desconhecido]: ESTADO Qual é o código de país de duas letras para esta unidade? [Desconhecido]: EUA CN=FIRSTNAME SOBRENOME, OU=DEPARTMENT, O=COMPANY, L=CITY, ST=STATE, C=US está correto? [não]: sim
  3. O arquivo keystore foi gerado e você está pronto para criar um CSR.
Gerar CSR
  1. Digite o seguinte comando para gerar um CSR do keystore que acabamos de criar. (Substituir MY-KEYSTORE.jks com o valor que você usou ao criar o keystore e MY-CSR.csr com o nome que você deseja usar para o CSR.)
    keytool -certreq -alias codesigning -arquivo MEU-CSR.csr -keystore MINHA-KEYSTORE.jks
  2. Insira a senha que você criou ao gerar o armazenamento de chaves.
    Digite a senha do keystore:
  3. O ESB ( CSR foi criado. Se você estiver pronto para pedir seu certificado de SSL.com, abra o arquivo em um editor de texto para copiar e colar no CSR campo ao fazer o pedido. O conteúdo do arquivo será semelhante ao exemplo mostrado abaixo:
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVNUQVRFMQ0wCwYD
    VQQHEwRDSVRZMRAwDgYDVQQKEwdDT01QQU5ZMRMwEQYDVQQLEwpERVBBUlRNRU5U
    MRswGQYDVQQDExJGSVJTVE5BTUUgTEFTVE5BTUUwggEiMA0GCSqGSIb3DQEBAQUA
    A4IBDwAwggEKAoIBAQCrRyk8VLs1THls+vfz0YtMJ3qYYl4c5c499d1YSbfQHa6L
    kIYhKTxvgdtbD+ePDigKB40CpeuMp5Yu8R6g2YIVBpGMrejAZYAmrzs6tfjpelh0
    ocSDwYr7H8qQ9jq6MfZTu6J7EjS5RMODB6MVq1usKg3H866xbi6lqAtcktEF+zlM
    4FW9Tm3H/DW2G7EnTjlMPzgaXNIU7lLar7YAWPJgv83NV8lQNCDW4lFlZLWBU95r
    YkJ4gfWUFUyPc+AiGbsyDdrVjPvF5yaebnFDrwheFaWeTTigSfLY688G7bpA8VvE
    lKioCl8nlJlc9HOBNKKdhs4qEtF0BwSE8tOgbkWPAgMBAAGgMDAuBgkqhkiG9w0B
    CQ4xITAfMB0GA1UdDgQWBBTmVpJp824krUaJKrQNhsSbVjJA1jANBgkqhkiG9w0B
    AQsFAAOCAQEALlux89RkXyHN4PQqQHbShSeTTWLURII+F+OSK9N1RS5l8V7AMcRM
    wvOkPP7JBRCKiaFGTW+5vcLQNnWRqQZMe0I4E0jzhL2gGsdChPIJy9Jwgn3Rzxmw
    8V0lBY1SHQ9LKgSK0jIer3PQhXHDJlE2g2Dx8nJ4WJk7l2OTF9Kkly9hg8MOQdeg
    VIcs3HLsVI9Cwd6UHRT6ruKL3+bRgEcb6qj+qcrKHkzN7KXbOEznd10nAm87wENS
    mTb012ZFMlpUDvPNAHQgoGJ6slA+pIoH1fvrkosjql7R/H7Q+onm37Qa6d9L2ZqM
    MhgNpNWVwI0UBU4Xy4p9oUCJnvHhQ7U+3w==
    -----END NEW CERTIFICATE REQUEST-----
Solicitar e recuperar certificado
  1. Siga as etapas mostradas em Pedido e recuperação de certificados de assinatura de código até a etapa 24. Em vez de clicar imediatamente no Gerar certificado botão, marque a caixa rotulada eu tenho o meu CSR.
    eu tenho o meu CSR
  2. Cole o seu CSR no campo do formulário e clique no Gerar certificado botão.
    macarrão CSR e gerar certificado
  3. Clique na Baixar botão e salve o .crt arquivo no mesmo lugar em que gerou seu armazenamento de chaves.
    Baixar
Importar certificado para armazenamento de chaves
  1. Use o seguinte comando para importar o certificado em seu arquivo de armazenamento de chaves Java. (Substitua MY-CERTIFICATE.crt e MY-KEYSTORE.jks pelos nomes de arquivo reais.)
    keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codesigning
  2. Digite a senha do keystore quando solicitado.
    Digite a senha do keystore:  
  3. Seu certificado está instalado no armazenamento de chaves e você está pronto para começar a assinar arquivos.
    A resposta do certificado foi instalada no armazenamento de chaves

Assinar arquivos com Jarsigner

  1. Use o seguinte comando para adicionar uma assinatura digital com data e hora a um .jar Arquivo. (Substituir /PATH/TO/MY-KEYSTORE.jks e MY-JAR.jar com os nomes de arquivo reais que você está usando. Se você usou um alias diferente ao configurar seu armazenamento de chaves, substitua-o por codesigning no comando.)
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar codesign
    Nota: Também é possível assinar o seu .jar arquivos diretamente com um arquivo PFX não convertido, adicionando o -storetype pkcs12 bandeira para o jarsigner comando.

    Nota: Por padrão, SSL.com oferece suporte a registros de data e hora de chaves ECDSA.

    Se você encontrar este erro: The timestamp certificate does not meet a minimum public key length requirement, você deve entrar em contato com o fornecedor do software para permitir registros de data e hora das chaves ECDSA.

    Se não houver como seu fornecedor de software permitir o uso do endpoint normal, você poderá usar esse endpoint legado http://ts.ssl.com/legacy para obter um registro de data e hora de uma unidade de registro de data e hora RSA.
  2. Digite a senha do keystore no prompt.
    Digite a frase de acesso para armazenamento de chaves: 
  3. O arquivo agora está assinado. Você pode verificar a assinatura com o seguinte comando:
    jarsigner -verify -verbose MY-JAR.jar
  4. Se o seu arquivo foi assinado com sucesso, a saída do comando deve incluir esta linha:
    s = assinatura foi verificada
    

 

Assinatura de código IV, OV e EV com YubiKey

SSL.com's Assinatura do código EV certificados oferecem assinatura de código de modo kernel do Windows 10 e um aumento instantâneo de reputação SmartScreen, tudo por preços tão baixos $ 240.00 por ano. Eles são entregues em segurança YubiKey FIPS Tokens USB com autenticação de dois fatores.

PEÇA AGORA

Configuração

Instale o driver PKCS # 11 e crie o arquivo eToken.cfg

Windows
  1. Instale o OpenSC seguindo as instruções no OpenSC's Iniciação Rápida do Windows.
  2. Localize o driver OpenSC PKCS # 11. O local de instalação padrão é C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. Crie um arquivo de configuração e salve-o em um local conveniente (como seu diretório inicial). O nome do arquivo é arbitrário, mas neste guia usaremos yubikey-pkcs11-java.cfg. O arquivo deve conter as seguintes informações:
    name = OpenSC-PKCS11 description = SunPKCS11 via OpenSC library = C: \ Arquivos de programas \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
MacOS
  1. Instale OpenSC. Se você usar Homebrew como gerenciador de pacotes, você pode instalar o OpenSC com o seguinte comando:
    brew instalar o opensc
  2. Localize o driver OpenSC PKCS # 11. Se você instalou usando o Homebrew, o arquivo deve estar disponível em /usr/local/lib/opensc-pkcs11.so.
  3. Crie um arquivo de configuração e salve-o em um local conveniente (como seu diretório inicial). O nome do arquivo é arbitrário, mas neste guia usaremos yubikey-pkcs11-java.cfg. O arquivo deve conter as seguintes informações:
    name = OpenSC-PKCS11 description = SunPKCS11 via OpenSC library = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

Assinar arquivos com Jarsigner

  1. Use o seguinte comando para adicionar uma assinatura digital com data e hora a um .jar Arquivo. (Substituir MY-JAR.jar com o nome do arquivo real que você está usando.)
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11 MY-JAR.jar "Certificado para autenticação PIV"
  2. Digite seu PIN YubiKey no prompt da frase secreta.
    Digite a frase de acesso para armazenamento de chaves: 
  3. O arquivo agora está assinado. Você pode verificar a assinatura com o seguinte comando:
    jarsigner -verify -verbose MY-JAR.jar
  4. Se o seu arquivo foi assinado com sucesso, a saída do comando deve incluir esta linha:
    s = assinatura foi verificada
    
Obrigado por escolher SSL.com! Se você tiver alguma dúvida, entre em contato conosco por e-mail em Support@SSL.com, ligar 1-877-SSL-SECUREou apenas clique no link de bate-papo no canto inferior direito desta página. Você também pode encontrar respostas para muitas perguntas de suporte comuns em nosso Base de Conhecimento.

 

Twitter
Facebook
LinkedIn
Reddit
E-mail

Mantenha-se informado e seguro

SSL.com é líder global em segurança cibernética, PKI e certificados digitais. Inscreva-se para receber as últimas notícias do setor, dicas e anúncios de produtos da SSL.com.

Adoraríamos receber seu feedback

Responda à nossa pesquisa e deixe-nos saber sua opinião sobre sua compra recente.