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
e 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.
Se non disponi ancora di un certificato di firma del codice e non sei sicuro del tipo di cui hai bisogno, leggi questa FAQ.
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.
.jar
file direttamente con un file PFX non convertito aggiungendo l'estensione -storetype pkcs12
bandiera al jarsigner
comando.- 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.
- Importa il PFX in un nuovo keystore con la stessa password utilizzando il comando seguente. (Sostituire
MY-CERTIFICATE.p12
eMY-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 filedestalias
è 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 essere1
, ma puoi confermarlo eseguendo il comandokeytool -list -v -storetype pkcs12 -keystore MY-PFX.P12
e controllando il valore mostrato perAlias name
. - 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
- 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. (SostituireMY-KEYSTORE.jks
con il nome che desideri che il file abbia.)keytool -genkeypair -alias codeigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
- 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ì
- Il file keystore è stato generato e sei pronto per creare un file CSR.
Generare CSR
- 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 eMY-CSR.csr
con il nome che desideri utilizzare per il file CSR.)keytool -certreq -alias codeigning -file MY-CSR.csr -keystore MY-KEYSTORE.jks
- Immettere la password creata durante la generazione del keystore.
Immettere la password del keystore:
- La 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
- 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.
- Incolla il tuo CSR nel campo del modulo e fare clic su Genera certificato pulsante.
- Clicca su Scaricare e salva il file
.crt
file nello stesso posto in cui hai generato il tuo keystore.
Importa certificato nel keystore
- 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
- Immettere la password del keystore quando richiesto.
Immettere la password del keystore:
- 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
- Utilizzare il comando seguente per aggiungere una firma digitale con data e ora a un file
.jar
file. (Sostituire/PATH/TO/MY-KEYSTORE.jks
eMY-JAR.jar
con i nomi di file effettivi che stai utilizzando. Se hai utilizzato un alias diverso durante la configurazione del tuo keystore, sostituiscilocodesigning
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 aljarsigner
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 legacyhttp://ts.ssl.com/legacy
per ottenere un timestamp da un'unità di timestamp RSA. - Immettere la password del keystore al prompt.
Inserisci passphrase per keystore:
- Il file è ora firmato. Puoi verificare la firma con il seguente comando:
jarsigner -verify -verbose MY-JAR.jar
- 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
Configurazione
Installa il driver PKCS # 11 e crea il file eToken.cfg
Windows
- Installa OpenSC seguendo le istruzioni in OpenSC Avvio rapido di Windows.
- Individua il driver OpenSC PKCS # 11. Il percorso di installazione predefinito è
C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
. - 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
- Installazione OpenSC. Se usi Fatto in casa come gestore di pacchetti, puoi installare OpenSC con il seguente comando:
brew install openc
- Individua il driver OpenSC PKCS # 11. Se hai installato utilizzando Homebrew, il file dovrebbe essere disponibile su
/usr/local/lib/opensc-pkcs11.so
. - 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
- Utilizzare il comando seguente per aggiungere una firma digitale con data e ora a un file
.jar
file. (SostituireMY-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"
- Inserisci il tuo PIN YubiKey alla richiesta della passphrase.
Inserisci passphrase per keystore:
- Il file è ora firmato. Puoi verificare la firma con il seguente comando:
jarsigner -verify -verbose MY-JAR.jar
- Se il file è stato firmato correttamente, l'output del comando dovrebbe includere questa riga:
s = la firma è stata verificata