Come richiedere e utilizzare un certificato per la firma del codice
Introduzione ai certificati di firma del codice
I certificati di firma del codice vengono utilizzati per applicare una firma digitale al codice software, al fine di verificare l'identità del distributore del software e garantire l'integrità del codice. Assicurano agli utenti che il software proviene da una fonte affidabile e che non è stato manomesso o modificato malevolmente dopo la distribuzione. Questo è fondamentale per costruire la fiducia degli utenti ed evitare la diffusione di malware.
Utilità dei certificati di firma del codice:
- Verifica dell'identità del distributore del software: I certificati di firma del codice convalidano la provenienza del software, assicurando agli utenti che provenga da uno sviluppatore legittimo o da un'organizzazione autorizzata.
- Garantire l'integrità del codice: Le firme digitali dimostrano che il codice non è stato modificato dalla sua firma, prevenendo iniezioni di malware o manomissioni.
- Aumentare la fiducia degli utenti: Il software firmato può eliminare gli avvisi di sicurezza emessi dai sistemi operativi o dai browser, migliorando la fiducia del pubblico e incoraggiando l'installazione e l'uso.
- Prevenire la diffusione di malware: La firma del codice aiuta gli utenti a riconoscere ed evitare potenziali malware non firmati o provenienti da fonti sconosciute.
Richiedere un certificato di firma del codice tramite ServBay
Apri il pannello di gestione dei certificati SSL: Nel pannello laterale di ServBay, clicca su "SSL Certificates" per accedere alla piattaforma di gestione dei certificati.
Clicca sul pulsante di aggiunta: Premi il pulsante "+" in alto a destra.
Compila le informazioni del certificato: Nella pagina "Richiesta Certificato", inserisci le seguenti informazioni:
- Nome Comune: Inserisci il nome della tua organizzazione o il tuo nome personale. Ad esempio
ServBay, LLC
oSam NG
. - Scopo dell'Uso: Seleziona lo scopo del certificato, scegli
Firma del Codice
. - Metodo di Richiesta: Seleziona
ServBay CA
. - Emittente: Seleziona
ServBay User CA
. - Algoritmo: Scegli l'algoritmo di crittografia, come
ECC
oRSA
. - Lunghezza della Chiave: Scegli la lunghezza della chiave, ad esempio
384
o2048
. - Password: Importante! Imposta una password per proteggere la tua chiave privata. Ricorda questa password, poiché, in caso di perdita, non sarà recuperabile. La password predefinita è
ServBay.dev
.
- Nome Comune: Inserisci il nome della tua organizzazione o il tuo nome personale. Ad esempio
Clicca sul pulsante "Request": Dopo aver completato tutti i passaggi, clicca sul pulsante "Request" per inviare la richiesta del certificato. ServBay emetterà automaticamente il certificato.
Esportazione e utilizzo del certificato
- Accedi al pannello di gestione dei certificati SSL.
- Individua il certificato di firma del codice emesso.
- Clicca sul pulsante azioni: Premi l'icona di esportazione alla destra del certificato.
- Scegli la directory di esportazione: Nella finestra a comparsa, seleziona la posizione in cui salvare il certificato esportato.
- Utilizza lo strumento di firma del codice: Importa il file
.p12
esportato nel tuo strumento di firma del codice (ad esempiocodesign
(macOS),signtool
(Windows), ecc.) e sbloccalo utilizzando la password impostata in precedenza. Successivamente, puoi utilizzare il certificato per firmare digitalmente il tuo codice.
Esempio di firma del codice utilizzando un certificato di firma del codice
$ gcc test.c -o /tmp/test # Genera un file binario per test con gcc
$ security find-identity -v -p codesigning # Trova i certificati disponibili per la firma del codice
1) ...
2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay, LLC"
2 valid identities found
$ codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test # Usa l'ID del certificato trovato per firmare
test: replacing existing signature
$ codesign -dvvv /tmp/test # Verifica che la firma sia corretta
Executable=/tmp/test
Identifier=test
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=445 flags=0x0(none) hashes=9+2 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639
CandidateCDHashFull sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
Hash choices=sha256
CMSDigest=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
CMSDigestType=2
CDHash=777e597ce37ad27e7b90d2aaaeeb9f1449170639
Signature size=7247
Authority=ServBay, LLC
Authority=ServBay Public CA - ECC Code Signing
Authority=ServBay Public CA - ECC Root
Timestamp=Nov 7, 2024 at 18:26:48
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=80
$ echo "abcde" > test # Tenta di corrompere la firma del certificato del file binario
$ codesign -dvvv test # Verifica nuovamente la firma
test: code object is not signed at all
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Rinnovo del certificato
I certificati di firma del codice di ServBay hanno una validità di 800 giorni. Prima della scadenza del certificato, puoi cliccare sul pulsante a destra per rinnovarlo. Ogni rinnovo prolungherà la validità alla data corrente + 800 giorni.
Cancellazione del certificato
- Accedi al pannello di gestione dei certificati SSL.
- Individua il certificato che desideri eliminare.
- Clicca sul pulsante azioni: Premi l'icona del cestino a destra del certificato.
- Conferma l'eliminazione: Nella finestra pop-up, scegli "Delete" e conferma l'operazione di eliminazione.
Conclusione
Spero che questo documento ti aiuti a richiedere e utilizzare un certificato di firma del codice sulla piattaforma ServBay. Se hai domande, contatta l'assistenza clienti di ServBay per ricevere aiuto.