Guida alla firma del codice Java

Questa guida ti consentirà di iniziare a firmare il tuo codice Java con un file OV / IV or EV certificato di firma del codice da SSL.com. Queste istruzioni presumono che Java Development Kit (JDK) sia installato sul computer e che il file keytool ed jarsigner i comandi sono inclusi nel tuo PERCORSO. Le istruzioni per la firma del codice Yubikey presuppongono che il tuo certificato sia installato nello slot 9a di a YubiKey FIPS token, poiché vengono forniti da SSL.com.

Dal 1 giugno 2023, i certificati di firma del codice di convalida dell'organizzazione (OV) e di convalida individuale (IV) di SSL.com sono stati emessi su token USB Federal Information Processing Standard 140-2 (FIPS 140-2) o tramite il nostro servizio di firma del codice cloud eSigner. Questa modifica è conforme con i nuovi requisiti di archiviazione delle chiavi del forum Certificate Authority/Browser (CA/B) per aumentare la sicurezza delle chiavi di firma del codice.

Se non disponi ancora di un certificato di firma del codice e non sei sicuro del tipo di cui hai bisogno, leggi questa FAQ.

SSL.com's Firma del codice OV / IV i certificati sono un modo economico per proteggere il tuo codice da manomissioni e compromissioni non autorizzate e sono disponibili per un minimo di $ 64.50 all'anno.

ORDINA ORA

OV/IV Code Signing (solo per certificati OV/IV emessi prima del 1 giugno 2023)

Configurazione

Metodo 1: Genera CSR e file PFX nel browser

Il metodo più semplice per iniziare rapidamente con la firma del codice Java è generare un file CSR e il file PFX quando si recupera il certificato da SSL.com e lo si installa in un nuovo keystore Java.

Nota: È anche possibile firmare il tuo .jar file direttamente con un file PFX non convertito aggiungendo l'estensione -storetype pkcs12 bandiera al jarsigner comando.
  1. Segui i passaggi mostrati in Ordinazione e recupero dei certificati di firma del codice per ordinare il certificato e scaricare un file PFX con il certificato e la chiave privata.
  2. Importa il PFX in un nuovo keystore con la stessa password utilizzando il comando seguente. (Sostituire MY-CERTIFICATE.p12 ed MY-KEYSTORE.jks con il nome effettivo del tuo file PFX e il nome del file che vuoi dare al tuo keystore. Nota anche che il file destalias è arbitrario e puoi usare un altro valore alias se lo desideri.)
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias codeigning
    Nota: Il valore per -srcalias per il file PFX scaricato da SSL.com dovrebbe normalmente essere 1, ma puoi confermarlo eseguendo il comando keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 e controllando il valore mostrato per Alias name.
  3. Verrà richiesta una password per il keystore di destinazione, quindi per la password del keystore di origine (la password immessa durante la creazione del PFX). Potresti anche visualizzare un messaggio di avviso che inizia con Warning: The JKS keystore uses a proprietary format. Puoi tranquillamente ignorare questo messaggio.

Metodo 2: genera coppia di chiavi e CSR con Java

Se preferisci generare la tua coppia di chiavi e CSR con Java, segui i passaggi in questa sezione. Il processo è lo stesso utilizzato per creare un file CSR per un SSL /TLS a livello internazionale in Giava.

Crea keystore e coppia di chiavi
  1. Innanzitutto, creeremo un keystore e una coppia di chiavi pubblica / privata. Java utilizza file con estensione .jks (Java KeyStore) per archiviare certificati e chiavi crittografiche. Immettere il seguente comando per generare un keystore e una coppia di chiavi RSA a 3072 bit. (Sostituire MY-KEYSTORE.jks con il nome che desideri che il file abbia.)
    keytool -genkeypair -alias codeigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. Ti verrà presentata una serie di suggerimenti. Innanzitutto, crea e verifica una password per il keystore, quindi inserisci e verifica le informazioni richieste. (Sostituisci i valori mostrati in maiuscolo con le tue informazioni.)
    Inserisci la password del keystore: Reinserisci la nuova password: Qual è il tuo nome e cognome? [Sconosciuto]: FIRSTNAME COGNOME Qual è il nome della tua organizzazione? [Sconosciuto]: AZIENDA Qual è il nome della tua Città o Località? [Sconosciuto]: CITTÀ Come si chiama il tuo Stato o Provincia? [Sconosciuto]: STATE Qual è il codice paese di due lettere per questa unità? [Sconosciuto]: USA CN=FIRSTNAME LASTNAME, OU=REPARTMENT, O=SOCANY, L=CITY, ST=STATE, C=US sono corretti? [no sì
  3. Il file keystore è stato generato e sei pronto per creare un file CSR.
Generare CSR
  1. Immettere il seguente comando per generare un file CSR dal keystore che abbiamo appena creato. (Sostituire MY-KEYSTORE.jks con il valore utilizzato durante la creazione del keystore e MY-CSR.csr con il nome che desideri utilizzare per il file CSR.)
    keytool -certreq -alias codeigning -file MY-CSR.csr -keystore MY-KEYSTORE.jks
  2. Immettere la password creata durante la generazione del keystore.
    Immettere la password del keystore:
  3. I CSR è stato creato. Se sei pronto per ordinare il tuo certificato da SSL.com, apri il file in un editor di testo per copiarlo e incollarlo nel file CSR campo al momento dell'ordine. Il contenuto del file sarà simile all'esempio mostrato di seguito:
    -----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-----
Ordina e recupera il certificato
  1. Segui i passaggi mostrati in Ordinazione e recupero dei certificati di firma del codice fino al passaggio 24. Invece di fare clic immediatamente su Genera certificato pulsante, seleziona la casella etichettata Ho il mio CSR.
    Ho il mio CSR
  2. Incolla il tuo CSR nel campo del modulo e fare clic su Genera certificato pulsante.
    Incolla CSR e genera il certificato
  3. Clicca su Scaricare e salva il file .crt file nello stesso posto in cui hai generato il tuo keystore.
    Scaricare
Importa certificato nel keystore
  1. Utilizzare il comando seguente per importare il certificato nel file del keystore Java. (Sostituisci MY-CERTIFICATE.crt e MY-KEYSTORE.jks con i nomi file effettivi.)
    keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias codeigning
  2. Immettere la password del keystore quando richiesto.
    Immettere la password del keystore:  
  3. Il tuo certificato è installato nel keystore e sei pronto per iniziare a firmare i file.
    La risposta del certificato è stata installata nel keystore

Firma file con Jarsigner

  1. Utilizzare il comando seguente per aggiungere una firma digitale con data e ora a un file .jar file. (Sostituire /PATH/TO/MY-KEYSTORE.jks ed MY-JAR.jar con i nomi di file effettivi che stai utilizzando. Se hai utilizzato un alias diverso durante la configurazione del tuo keystore, sostituiscilo codesigning nel comando.)
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jks MY-JAR.jar codeigning
    Nota: è anche possibile firmare il tuo .jar file direttamente con un file PFX non convertito aggiungendo l'estensione -storetype pkcs12 bandiera al jarsigner comando.

    Nota: Per impostazione predefinita, SSL.com supporta i timestamp delle chiavi ECDSA.

    Se riscontri questo errore: The timestamp certificate does not meet a minimum public key length requirement, è necessario contattare il fornitore del software per consentire i timestamp dalle chiavi ECDSA.

    Se non è possibile per il tuo fornitore di software consentire l'utilizzo dell'endpoint normale, puoi utilizzare questo endpoint legacy http://ts.ssl.com/legacy per ottenere un timestamp da un'unità di timestamp RSA.
  2. Immettere la password del keystore al prompt.
    Inserisci passphrase per keystore: 
  3. Il file è ora firmato. Puoi verificare la firma con il seguente comando:
    jarsigner -verify -verbose MY-JAR.jar
  4. Se il file è stato firmato correttamente, l'output del comando dovrebbe includere questa riga:
    s = la firma è stata verificata
    

 

Firma del codice IV, OV ed EV con YubiKey

SSL.com's Firma del codice EV i certificati offrono la firma del codice in modalità kernel di Windows 10 e un incremento immediato della reputazione di SmartScreen, il tutto a partire da $ 240.00 all'anno. Sono consegnati in modo sicuro YubiKey FIPS Token USB con autenticazione a due fattori.

ORDINA ORA

Configurazione

Installa il driver PKCS # 11 e crea il file eToken.cfg

Windows
  1. Installa OpenSC seguendo le istruzioni in OpenSC Avvio rapido di Windows.
  2. Individua il driver OpenSC PKCS # 11. Il percorso di installazione predefinito è C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. Crea un file di configurazione e salvalo in una posizione comoda (come la tua directory home). Il nome del file è arbitrario, ma in questa guida useremo yubikey-pkcs11-java.cfg. Il file dovrebbe contenere le seguenti informazioni:
    nome = OpenSC-PKCS11 descrizione = SunPKCS11 tramite libreria OpenSC = C: \ Program Files \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
  1. Installazione OpenSC. Se usi Fatto in casa come gestore di pacchetti, puoi installare OpenSC con il seguente comando:
    brew install openc
  2. Individua il driver OpenSC PKCS # 11. Se hai installato utilizzando Homebrew, il file dovrebbe essere disponibile su /usr/local/lib/opensc-pkcs11.so.
  3. Crea un file di configurazione e salvalo in una posizione comoda (come la tua directory home). Il nome del file è arbitrario, ma in questa guida useremo yubikey-pkcs11-java.cfg. Il file dovrebbe contenere le seguenti informazioni:
    nome = OpenSC-PKCS11 descrizione = SunPKCS11 tramite libreria OpenSC = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

Firma file con Jarsigner

  1. Utilizzare il comando seguente per aggiungere una firma digitale con data e ora a un file .jar file. (Sostituire MY-JAR.jar con il nome file effettivo che stai utilizzando.)
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11 MY-JAR.jar "Certificato per l'autenticazione PIV"
  2. Inserisci il tuo PIN YubiKey alla richiesta della passphrase.
    Inserisci passphrase per keystore: 
  3. Il file è ora firmato. Puoi verificare la firma con il seguente comando:
    jarsigner -verify -verbose MY-JAR.jar
  4. Se il file è stato firmato correttamente, l'output del comando dovrebbe includere questa riga:
    s = la firma è stata verificata
    
Grazie per aver scelto SSL.com! In caso di domande, contattaci tramite e-mail all'indirizzo Support@SSL.com, chiama 1-877-SSL-SECUREoppure fai clic sul link della chat in basso a destra in questa pagina. Puoi anche trovare risposte a molte domande comuni di supporto nel nostro base di conoscenza.

 

Twitter
Facebook
LinkedIn
Reddit
E-mail

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.