en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Microsoft Authenticode Code Signing i Linux med Jsign

Jsign är ett öppen källkod, plattformsoberoende Java-verktyg för Microsoft Authenticode-kodsignering. Jsign är lätt att integrera med byggsystem som Maven, Gradle och Ant eller kan användas direkt från kommandoraden.

I den här instruktionen täcker vi användning Jsign från Linux-kommandoraden för OV / IV-kodsignering och EV-kodsignering. Eftersom Jsign är Java-baserat kan du också använda det på Windows- och MacOS-system.

Installera Jsign

Först måste du ladda ner och installera Jsign. De Jsign webbplats innehåller länkar till Debian- och RPM-paket för enkel installation på de flesta populära Linux-systemen, samt en .jar fil.

OV / IV-kodsignering

För standard OV / IV-kodsignering kan du använda ett certifikat lagrat i en Java keystore eller PKCS # 12 (PFX) -fil. SSL.com levererar kodsigneringscertifikat i PKCS # 12-format, så vi använder det för vårt exempel. I alla kodexempel nedan ersätter du värdena som visas i ALL-CAPS med dina faktiska värden.

  1. Använd först keytool kommando för att få alias värde att använda vid signering:
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-LÖSENORD
  2. Kontrollera utdata från din keytool kommando för en rad som börjar med Alias name:.
    Keystore-typ: PKCS12 Keystore-leverantör: SUN Din keystore innehåller 1 post Aliasnamn: 1 Skapningsdatum: 18 jan 2021 Posttyp: PrivateKeyEntry Certifikatkedjelängd: 4 ...

    I exemplet ovan, Alias name is 1.

  3. Använd ett kommando som följande för att signera och tidsstämpla en fil:
    • jsign kommando installerat hela systemet:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-LÖSENORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FIL-TILL-SIGN
    • Med Jsigner .jar fil:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-LÖSENORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- TECKEN
  4. Om ditt kommando lyckas bör du se utdata på följande sätt:
    Lägger till Authenticode-signatur till exempel.exe

EV-kodsignering

Du kan också använda Jsign med ett EV-kodsigneringscertifikat. Exemplet här använder en SSL.com EV-kodsigneringscertifikat installerad på en YubiKey FIPS-token.

  1. Kontrollera först det OpenSC är installerat på ditt system så att det kan kommunicera med din token via PKCS # 11 API. På Debian-baserade distributioner som Ubuntu kan du installera OpenSC med apt:
    sudo apt installerar opensc
  2. Skapa sedan en konfigurationsfil. Filens namn är godtyckligt, men för exemplet nedan använder vi kommandona eToken.cfg. Observera att vägen till opensc-pkcs11.so kan variera i din OpenSC-installation, så kontrollera innan du skapar konfigurationsfilen.
    namn = OpenSC-PKCS11 beskrivning = SunPKCS11 via OpenSC-bibliotek = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. Använd keytool kommando för att få alias värde att använda vid signering:
    nyckelverktyg -list -v -nyckelbutik INGEN -stortyp PKCS11 -lagringspass TOKEN -PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. Kontrollera utdata från din keytool kommando för en rad som börjar med Alias name:. Om din token innehåller flera certifikat, kontrollera giltighetsdatum och utfärdare i utdata mot ditt certifikat. Observera att EV-kodsigneringscertifikat utfärdat på YubiKey från SSL.com bör ha ett aliasnamn Certificate for PIV Authentication.
    Aliasnamn: Certifikat för PIV-autentisering Inmatningstyp: PrivateKeyEntry Certifikatkedjelängd: 1 Certifikat [1]: Ägare: OID.1.3.6.1.4.1.311.60.2.1.3 = US, OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = Nevada, OID.20081614243 = Privat organisation, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = USA Utgivare: CN = SSL.com EV Kodsignering Mellanliggande CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = USA Serienummer: 93f57a3bac6570c781580f63172e17 Gäller från: Fre Apr 12 46:04:2020 EDT 17 till: Lör 12 Apr 46:04:2021 EDT XNUMX
  5. Använd ett kommando som följande för att signera och tidsstämpla en fil:
    • jsign kommando installerat hela systemet:
      jsign --keystore eToken.cfg --alias "Certificate for PIV Authentication" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Med Jsigner .jar fil:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Certificate for PIV Authentication" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FIL -ATT SKRIVA UNDER
  6. Om ditt kommando lyckas bör du se utdata på följande sätt:
    Lägger till Authenticode-signatur till exempel.exe

Verifiera digital signatur

  1. Du kan verifiera att din digitala signatur är giltig genom att visa signaturinformation i Windows.
    Digital signatur är ok
  2. Du kan också använda Signtool i Windows för att verifiera den digitala signaturen.
    signtool.exe verifierar / pa 'C: \ Användare \ Aaron Russell \ Desktop \ exempel.exe' Fil: C: \ Användare \ Aaron Russell \ Desktop \ exempel.exe Index Algoritm Tidsstämpel ============ ============================== 0 sha256 RFC3161 Verifierad: C: \ Användare \ Aaron Russell \ Desktop \ exempel.exe

Relaterade hur Tos

Prenumerera på SSL.coms nyhetsbrev

Vad är SSL /TLS?

Spela filmen

Prenumerera på SSL.coms nyhetsbrev

Missa inte nya artiklar och uppdateringar från SSL.com