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 in Linux met Jsign

Jsign is een open-source, platformonafhankelijke Java-tool voor het ondertekenen van Microsoft Authenticode-code. Jsign is eenvoudig te integreren met build-systemen zoals Maven, Gradle en Ant, of kan rechtstreeks vanaf de opdrachtregel worden gebruikt.

In deze how-to behandelen we het gebruik van Jsign vanaf de Linux-opdrachtregel voor OV / IV-code ondertekenen als EV-code ondertekenen. Omdat Jsign op Java is gebaseerd, kunt u het ook gebruiken op Windows- en MacOS-systemen.

Installeer Jsign

Eerst moet u Jsign downloaden en installeren. De Jsign-website bevat koppelingen naar Debian- en RPM-pakketten voor eenvoudige installatie op de meeste populaire Linux-systemen, evenals een .jar bestand.

OV / IV Code Signing

Voor standaard OV / IV-codeondertekening kunt u een certificaat gebruiken dat is opgeslagen in een Java-keystore of PKCS # 12 (PFX) -bestand. SSL.com levert certificaten voor codeondertekening in PKCS # 12-indeling, dus we zullen dat voor ons voorbeeld gebruiken. Vervang in alle onderstaande codevoorbeelden de waarden die in HOOFDLETTERS worden weergegeven door uw werkelijke waarden.

  1. Gebruik eerst de keytool commando om het alias waarde om te gebruiken bij het ondertekenen:
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
  2. Controleer de output van je keytool commando voor een regel die begint met Alias name:.
    Keystore-type: PKCS12 Keystore-provider: SUN Uw keystore bevat 1 entry Aliasnaam: 1 Aanmaakdatum: 18 jan 2021 Type entry: PrivateKeyEntry Lengte certificaatketen: 4 ...

    In het bovenstaande voorbeeld, Alias name is 1.

  3. Gebruik een commando zoals het volgende om een ​​bestand te ondertekenen en van een tijdstempel te voorzien:
    • jsign commando geïnstalleerd systeembreed:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAAM --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Met Jsigner .jar file:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAAM --storetype PKCS12 --storepass PKCS12-WACHTWOORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- TEKEN
  4. Als uw opdracht succesvol is, zou u de volgende uitvoer moeten zien:
    Authenticode-handtekening toevoegen aan example.exe

EV Code-ondertekening

U kunt Jsign ook gebruiken met een EV-codeondertekeningscertificaat. Het voorbeeld hier gebruikt een SSL.com Certificaat voor ondertekenen van EV-code geïnstalleerd op een YubiKey FIPS-token.

  1. Zorg er eerst voor dat opensc is op uw systeem geïnstalleerd zodat het kan communiceren met uw token via de PKCS # 11 API. Op Debian-gebaseerde distributies zoals Ubuntu kun je OpenSC installeren met apt:
    sudo apt install opensc
  2. Maak vervolgens een configuratiebestand. De naam van het bestand is willekeurig, maar voor de onderstaande voorbeeldopdrachten gebruiken we eToken.cfg. Merk op dat het pad naar opensc-pkcs11.so kan variëren in uw OpenSC-installatie, dus controleer voordat u het configuratiebestand maakt.
    name = OpenSC-PKCS11 beschrijving = SunPKCS11 via OpenSC bibliotheek = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. Gebruik de keytool commando om het alias waarde om te gebruiken bij het ondertekenen:
    keytool -list -v -keystore GEEN -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. Controleer de output van je keytool commando voor een regel die begint met Alias name:. Als uw token meerdere certificaten bevat, controleert u de geldigheidsdatums en uitgever in de uitvoer met uw certificaat. Merk op dat EV code-ondertekeningscertificaten die zijn uitgegeven op YubiKey vanaf SSL.com een ​​aliasnaam moeten hebben van Certificate for PIV Authentication.
    Aliasnaam: Certificaat voor PIV-verificatie Invoertype: PrivateKeyEntry Lengte certificaatketen: 1 Certificaat [1]: Eigenaar: 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 = Private Organization, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = US Issuer: CN = SSL.com EV Code Signing Intermediate CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US Serienummer: 93f57a3bac6570c781580f63172e17 Geldig vanaf: vr 12 apr 46:04:2020 EDT 17 tot: za 12 apr 46:04:2021 EDT XNUMX
  5. Gebruik een commando zoals het volgende om een ​​bestand te ondertekenen en van een tijdstempel te voorzien:
    • jsign commando geïnstalleerd systeembreed:
      jsign --keystore eToken.cfg --alias "Certificate for PIV Authentication" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Met Jsigner .jar file:
      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 FILE -ONDERTEKENEN
  6. Als uw opdracht succesvol is, zou u de volgende uitvoer moeten zien:
    Authenticode-handtekening toevoegen aan example.exe

Controleer de digitale handtekening

  1. U kunt controleren of uw digitale handtekening geldig is door de handtekeningdetails in Windows te bekijken.
    Digitale handtekening is ok
  2. U kunt ook gebruik maken van TekenTool in Windows om de digitale handtekening te verifiëren.
    signtool.exe verifieer / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' Bestand: C: \ Users \ Aaron Russell \ Desktop \ example.exe Index algoritme Tijdstempel =========== ============================= 0 sha256 RFC3161 Succesvol geverifieerd: C: \ Users \ Aaron Russell \ Desktop \ example.exe

Gerelateerd hoe Tos

Abonneer u op de nieuwsbrief van SSL.com

Wat is SSL /TLS?

Video afspelen

Abonneer u op de nieuwsbrief van SSL.com

Mis geen nieuwe artikelen en updates van SSL.com