Kodsignering med Jsign
Jsign är ett gratis signeringsverktyg med öppen källkod, skrivet i Java. För kodsignering stöder det USB-token (PKCS#11), Azure Key Vault, Google Cloud KMS, AWS KMS och lokala nyckelarkiv, och det körs på Windows, Linux och macOS.
Jsign stöder HSM-tjänsterna hos Azure, Google Cloud och AWS i ett och samma verktyg. Det passar CI/CD-pipelines där du vill använda samma verktyg oavsett var nyckeln finns.
Vad är Jsign?
Jsign är ett projekt med öppen källkod (Apache 2.0-licens) som underhålls på GitHub. Det är skrivet i Java och kräver Java 8 eller nyare (OpenJDK rekommenderas).
Jsign stöder Authenticode-signering av Windows-filer (.exe, .dll, .msi, .msix, .cab, .ps1), Java-artefakter (.jar, .war, .ear) och andra format, så samma verktyg täcker både Windows- och Java-signering.
Nyckelarkiv som stöds
USB-token (PKCS#11)
SafeNet eToken, YubiKey, Thales Luna. Kräver att en PKCS#11-drivrutin är installerad lokalt.
Azure Key Vault
Via Azure SDK. Autentisering med service principal eller managed identity.
Google Cloud KMS
Via GCP SDK. Autentisering med service account.
AWS KMS
Via AWS SDK. Autentisering med IAM-inloggningsuppgifter eller en instansroll.
Lokalt nyckelarkiv
PKCS#12 (.pfx/.p12), JKS, Windows certifikatlager.
Installation
Ladda ner JAR-filen: Hämta den senaste versionen från Jsign GitHub Releases ↗ och kör den direkt:
java -jar jsign.jar sign --help
Maven/Gradle: Jsign kan också läggas in som beroende i ditt byggsystem, så att signeringen sker automatiskt i din pipeline.
Kräver Java 8 eller nyare. Vi rekommenderar OpenJDK, som du laddar ner från adoptium.net ↗.
Exempel på signering
USB-token (PKCS#11)
jsign --storetype PKCS11 \ --storepass "your-pin" \ --alias "your-cert" \ --tsaurl http://timestamp.digicert.com \ MyApp.exe
Azure Key Vault
jsign --storetype AZUREKEYVAULT \ --storepass "client-secret" \ --keystore "your-vault" \ --alias "cert-name" \ --tsaurl http://timestamp.digicert.com \ MyApp.exe
Google Cloud KMS
jsign --storetype GOOGLECLOUD \ --keystore "projects/my-project/locations/global/keyRings/my-ring" \ --alias "my-key" \ --certfile cert.pem \ --tsaurl http://timestamp.digicert.com \ MyApp.exe
AWS KMS
jsign --storetype AWS \ --keystore "us-east-1" \ --alias "alias/my-key" \ --certfile cert.pem \ --tsaurl http://timestamp.digicert.com \ MyApp.exe
Jsign vs signtool.exe vs AzureSignTool
| Jsign | signtool.exe | AzureSignTool | |
|---|---|---|---|
| Plattform | Windows, Linux, macOS | Endast Windows | Windows, Linux, macOS (.NET) |
| Nyckelarkiv | USB-token, Azure KV, Google KMS, AWS KMS, lokalt | USB-token, lokalt nyckelarkiv | Endast Azure Key Vault |
| Beroenden | Java 8+ | Ingen (del av Windows SDK) | .NET Runtime |
| Licens | Öppen källkod (Apache 2.0) | Microsoft (proprietär) | Öppen källkod (MIT) |
| Java-artefakter | Ja (.jar, .war, .ear) | Nej | Nej |
Filtyper som stöds
Relaterade signeringsverktyg: SignTool / AzureSignTool | Jsign | Jämför alla →
Code Signing-certifikat för Jsign
OV Code Signing
DigiCert CodeSign OV
DigiCert OV Code Signing. Fungerar med Jsign och alla nyckelarkiv.
GlobalSign CodeSign
GlobalSign OV Code Signing. Fungerar med Jsign och alla nyckelarkiv.
EV Code Signing
DigiCert CodeSign EV
DigiCert EV Code Signing. Fungerar med Jsign och alla nyckelarkiv, och signerar kerneldrivrutiner.
GlobalSign CodeSign EV
GlobalSign EV Code Signing. Fungerar med Jsign och alla nyckelarkiv och har utökad företagsvalidering.
Vanliga frågor om kodsignering med Jsign
Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.
--tsaurl med en tidsstämpelserver enligt RFC 3161 (t.ex. http://timestamp.digicert.com).Redo att signera med Jsign?
Skapa ett gratis konto och beställ ditt första certifikat. Ett DV-certifikat utfärdas på under 2 minuter.