Meteen naar de inhoud

Certificaten voor 47 dagen komen eraan. Ben je er klaar voor?

Handel nu →

Ondertekening uitvoeren met JSign Tool en PKCS#11-bibliotheek

Jsign begrijpen

Stel je voor dat je een bestand van internet wilt downloaden. Hoe weet je of het veilig is? Hoe weet je zeker dat het echt afkomstig is van de persoon die het beweert te zijn en dat er onderweg niet mee is geknoeid? Dit is waar codeondertekening om de hoek komt kijken. Codeondertekening is als een digitale garantie, die je verzekert van de herkomst en de integriteit van de software.

Met behulp van onze PKCS11 Wrapper, een softwarebibliotheek die communiceert met Hardware Security Modules (HSM's) , smartcards of andere sleutelkluizen, kunt u de efficiëntie van het codeondertekeningsproces voor uw organisatie verbeteren. Naast de PKCS11 Wrapper gebruiken we JSign, een commandoregelprogramma dat uitvoerbare bestanden, installatiepakketten en scripts ondertekent met een Authenticode-compatibele handtekening. JSign zelf ondertekent alleen; voor het verifiëren van een voltooide handtekening is een apart programma nodig, dat we na de onderstaande ondertekeningsstappen zullen bespreken.

Ondertekenen met JSign en PKCS#11, in het kort: lopen jsign --keystore <pkcs11properties.cfg> --storepass NONE --storetype PKCS11 --alias <alias> <file> (of het Windows/macOS-equivalent met java -jar jsign-7.0.jar), en controleer vervolgens het resultaat met signtool verify /pa op Windows of osslsigncode verify Op Linux/macOS is dit niet mogelijk, omdat JSign geen ingebouwde verificatieopdracht heeft.

Key Takeaways

  • JSign 7.0 is een tool die alleen kan ondertekenen; het heeft geen subopdracht voor verificatie. Voor het bevestigen van een handtekening is een aparte tool nodig die geschikt is voor uw platform. Dit is iets wat u gemakkelijk over het hoofd kunt zien als u alleen de stappen voor het ondertekenen volgt.
  • De kern van het jsign-commando is identiek op Ubuntu, Windows en macOS (–keystore, –storepass NONE, –storetype PKCS11, –alias); alleen de manier waarop het wordt aangeroepen verschilt (een native binair bestand op Ubuntu via het .deb-pakket, java -jar op Windows en macOS).

Omgevingsmatrix

BestanddeelUbuntuWindowsmacOS
Geteste OS-versieUbuntu 24.02Ramen 11 23H2Sequoia 15.2
Java-versie172217
JSign-pakket.deb (jsign_7.0_all.deb).jar (jsign-7.0.jar).jar (jsign-7.0.jar)
Aanroepingjsign directjava -jar jsign-7.0.jarjava -jar jsign-7.0.jar
CodeSign Secure-versiev3.02v3.02v3.02

Wat is JSign?

JSign is een gratis opdrachtregeltool voor Linux, Windows en macOS. Het maakt platformonafhankelijke ondertekening van een breed scala aan artefacten mogelijk, zoals uitvoerbare Windows-bestanden, software-installatieprogramma's, scripts en nog veel meer.

JSign-hulpmiddelen

Configuratie van PKCS#11 Wrapper op Ubuntu

Voorwaarden

Voordat we ingaan op het proces van ondertekenen met JSign Tool en onze PKCS11 Wrapper op een Linux-machine (Ubuntu), zorg ervoor dat het volgende gereed is:

  • Ubuntu-versie: Ubuntu versie 22.04 of later (geteste omgeving is Ubuntu 24.02)
  • Bijgebouwen: Installeer liblog4cxx12 en curl.

Om de afhankelijkheden te installeren, voert u de volgende opdrachten uit

  • sudo apt-get install curl
  • sudo apt-get install liblog4cxx12

Installatie van EC's PKCS#11 Wrapper

Stap 1: Ga naar het gedeelte 'Signing Tools' van EC CodeSign Secure v3.02 en download de PKCS#11 Wrapper voor Ubuntu.

codeSigning ondertekeningshulpmiddelen ubuntu

Stap 2: Genereer vervolgens een P12-authenticatiecertificaat via het vervolgkeuzemenu Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren.

P12-authenticatiecertificaat

Stap 3: Ga naar uw Ubuntu-clientsysteem en bewerk de configuratiebestanden ( ec_PKCS#11client.ini en PKCS#11properties.cfg ) die u in de PKCS#11 Wrapper hebt gedownload.

Configuratiebestanden bewerken.

JSign Tool installeren

Stap 1 : Installeer de nieuwste versie van JSign Tool (DEB-pakket) via deze link.

 jsign-tool installeren
jsign-tool installeren

Stap 2: Installeer het Debian-pakket

sudo dpkg --install jsign_7.0_all.deb
Debian-pakket installeren

Stap 3: Controleer of JSign correct is geïnstalleerd.

jsign

controleer of jsign is geïnstalleerd

Installeer Java op uw Ubuntu-machine.

U moet ook Java (Java 17 of lager) op uw Ubuntu-computer installeren om JSign te laten werken met onze PKCS11 Wrapper.

Stap 1: Installeer Java 17 op je Ubuntu-machine.

sudo apt install openjdk-17-jdk
java17 installeren op ubuntu

Stap 2: Stel Java 17 in als de actieve versie.

sudo update-alternatives --config java
instellen als actieve versie

Stap 3: Controleer of Java correct is geïnstalleerd.

java -version
controleer of Java is geïnstalleerd

Signing

Stap 1: Wijzig de werkmap van de terminal naar de map die uw bestanden "ec_pkcs11client.ini" en "pkcs11properties.cfg" bevat.

werkmap wijzigen

Stap 2: Voer het ondertekeningscommando uit vanuit deze map.

<Path of JSign tool> --keystore <Path of pkcs11properties.cfg> --storepass NONE --storetype PKCS11 --alias <Key alias of the signing certificate> <Path of the file to be signed>

Hieronder vindt u een voorbeeldopdracht:

jsign --keystore pkcs11properties.cfg --storepass NONE --storetype PKCS11 --alias gpg2 build_project.ps1
voorbeeldopdracht

Verificatie (Ubuntu)

JSign verifieert zelf geen handtekeningen. Gebruik op Ubuntu osslsigncode (installeer met sudo apt-get install osslsigncode) om het resultaat te bevestigen:

osslsigncode verify build_project.ps1

Een geldige handtekening rapporteert de certificaatketen en bevestigt dat de handtekening intact is; een gemanipuleerd of niet-ondertekend bestand wordt expliciet als zodanig gerapporteerd in plaats van stilzwijgend te worden goedgekeurd.

Veelvoorkomende fouten (Ubuntu)

Foutwaarschijnlijke oorzaakBepalen
jsign meldt dat de PKCS11-provider niet gevonden kan worden.Het pad naar pkcs11properties.cfg is onjuist of de wrapper is niet geconfigureerd in de huidige map.Voer de opdracht uit vanuit de map die de bestanden ec_pkcs11client.ini en pkcs11properties.cfg bevat.
Ondertekening is gelukt, maar osslsigncode verify mislukt.De volledige certificaatketen was niet beschikbaar toen jsign het bestand ondertekende.Controleer of de certificaatketen compleet is in de PKCS#11-wrapperconfiguratie voordat u opnieuw ondertekent.

Voorwaarden

Voordat we ingaan op het gebruik van JSign Tool en onze PKCS11 Wrapper op een Windows-computer, moet u ervoor zorgen dat het volgende gereed is:

  • Windows-versie: Windows 11 (geteste omgeving is Windows 11 23H2)

Installatie van EC's PKCS#11 Wrapper

Stap 1: Ga naar het gedeelte 'Signing Tools' van EC CodeSign Secure v3.02 en download de PKCS#11 Wrapper voor Windows.

codeSigning ondertekeningshulpmiddelen voor Windows

Stap 2: Genereer vervolgens een P12-authenticatiecertificaat via het vervolgkeuzemenu Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren.

P12-authenticatiecertificaat

Stap 3: Ga naar uw Windows-clientsysteem en bewerk de configuratiebestanden ( ec_PKCS#11client.ini en PKCS#11properties.cfg ) die u in de PKCS#11 Wrapper hebt gedownload.

configuratiebestanden bewerken Windows
configuratiebestanden bewerken Windows 2

Installeer Java op uw Windows-computer.

U moet ook Java (Java 22 of lager) op uw Windows-computer installeren om JSign te laten werken met onze PKCS11 Wrapper.

Stap 1: Installeer Java 22 (.exe-installatieprogramma) op uw Windows-computer via de officiële website van Oracle.

Java Windows installeren

Stap 2: Volg de instructies om Java 22 op uw computer te installeren.

Instructies volgen
Instructies volgen

Stap 3: Stel Java 22 in als de actieve versie door het pad naar de binaire map op te slaan in de PATH-variabele.

instellen als actieve versie windows

JSign Tool installeren

Stap 1 : Installeer de nieuwste versie van JSign Tool (JAR-pakket) via deze link.

jsign-tool installeren

Stap 2 : Controleer of JSign correct is geïnstalleerd.

java -jar

Signing

Stap 1: Wijzig de werkmap van de terminal naar de map die uw bestanden “ec_pkcs11client.ini” en “pkcs11properties.cfg” bevat.

werkmap wijzigen windows

Stap 2: Voer het ondertekeningscommando uit vanuit deze map.

java -jar <Path of JSign jar file> --keystore <Path of pkcs11properties.cfg> --storepass NONE --storetype PKCS11 --alias <Key alias of the signing certificate> <Path of file to be signed>

Hieronder vindt u een voorbeeldopdracht:

java -jar jsign-7.0.jar --keystore pkcs11properties.cfg --storepass NONE --storetype PKCS11 --alias gpg2 build_project.ps1
Voorbeeldopdrachtvensters

Verificatie (Windows)

JSign heeft geen verificatiesubopdracht. Gebruik op Windows de signtool van de SDK om de handtekening te bevestigen:

signtool verify /pa build_project.ps1

Een geldige handtekening meldt "Succesvol geverifieerd" samen met de gebruikte certificaatketen. Als het bestand na ondertekening is gewijzigd of de certificaatketen onvolledig is, meldt signtool de specifieke fout in plaats van een algemene foutmelding.

Veelvoorkomende fouten (Windows)

Foutwaarschijnlijke oorzaakBepalen
`java -jar` meldt dat het jsign jar-bestand niet gevonden of geladen kan worden.Het pad naar jsign-7.0.jar is onjuist of verwijst naar de verkeerde relatieve map.Gebruik het volledige pad naar het JAR-bestand, of voer het uit vanuit de map waar het is gedownload.
Signtool verify meldt "Geen handtekening gevonden".Er was geen uitvoerbestand opgegeven, dus jsign ondertekende het invoerbestand ter plaatse, maar er werd een ander bestand gecontroleerd.Controleer of het exacte bestandspad dat aan jsign is doorgegeven overeenkomt met het bestand dat aan signtool verify is doorgegeven.

Configuratie van PKCS#11 Wrapper op MacOS

Voorwaarden

Voordat we ingaan op het gebruik van de JSign Tool en onze PKCS11 Wrapper op een MacOS-computer, moet u ervoor zorgen dat het volgende gereed is:

  • MacOS-versie: Sequoia 15.2 (geteste omgeving Sequoia 15.2)
  • Bijgebouwen: Installeer liblog4cxx en curl.

Om de afhankelijkheden te installeren, voert u de volgende opdrachten uit

  • brouwen installeren krullen
  • Brew installatie log4cxx

Installatie van EC's PKCS#11 Wrapper

Stap 1: Ga naar het gedeelte 'Signing Tools' van EC CodeSign Secure v3.02 en download de PKCS#11 Wrapper voor MacOS.

codeSigning ondertekeningshulpmiddelen mac

Stap 2: Genereer vervolgens een P12-authenticatiecertificaat via het vervolgkeuzemenu Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren.

P12-authenticatiecertificaat

Stap 3: Ga naar uw MacOS-clientsysteem en bewerk de configuratiebestanden ( ec_PKCS#11client.ini en PKCS#11properties.cfg ) die u in de PKCS11 Wrapper hebt gedownload.

configuratiebestand mac bewerken

Java installeren op uw MacOS-machine

U moet ook Java (Java 17 of lager) op uw MacOS-computer installeren om JSign te laten werken met onze PKCS11 Wrapper.

Stap 1: Installeer Java 17 op uw MacOS-computer.

brew install openjdk@17

Stap 2: Zoek de locatie waar Java 17 op uw computer is geïnstalleerd.

brouw info naar openjdk@17

Stap 3: Stel Java 17 in als de actieve versie.

Voor Zsh: nano ~/.zshrc

Voor Bash: nano ~/.bash_profile

Nadat u de bovenstaande opdracht hebt uitgevoerd, voegt u de volgende regels toe:

export PATH= :$PAD

exporteer JAVA_HOME=

Java installeren op Mac

Stap 4: Laad de omgevingsvariabelen opnieuw.

Voor Zsh: source ~/.zshrc

Voor Bash: source ~/.bash_profile

JSign Tool installeren

Stap 1 : Installeer de nieuwste versie van JSign Tool (JAR-pakket) via deze link.

jsign-tool installeren

Stap 2 : Controleer of JSign correct is geïnstalleerd.

java -jar

Oplossing voor codeondertekening voor bedrijven

Ontvang één oplossing voor al uw cryptografische behoeften op het gebied van softwarecodeondertekening met onze codeondertekeningsoplossing.

Signing

Stap 1: Wijzig de werkmap van de terminal naar de map die uw bestanden “ec_pkcs11client.ini” en “pkcs11properties.cfg” bevat.

Stap 2: Voer het ondertekeningscommando uit vanuit deze map.

java -jar <Path of JSign jar file> --keystore <Path of pkcs11properties.cfg> --storepass NONE --storetype PKCS11 --alias <Key alias of the signing certificate> <Path of file to be signed>

Hieronder vindt u een voorbeeldopdracht:

java -jar jsign-7.0.jar --keystore pkcs11properties.cfg --storepass NONE --storetype PKCS11 --alias gpg2 build_project.ps1
ondertekeningsopdracht uitvoeren mac

Verificatie (macOS)

Net als op de andere platforms verifieert JSign geen handtekeningen. Gebruik op macOS osslsigncode (installeer via brew install osslsigncode) voor Authenticode-achtige artefacten:

osslsigncode verify build_project.ps1

Dit rapport geeft aan of de handtekening geldig is en toont de certificaatketen die is gebruikt om het bestand te ondertekenen.

Veelgestelde Vragen / FAQ

Heeft JSign een ingebouwde verificatieopdracht, vergelijkbaar met apksigner of signtool?

Nee. JSign 7.0 ondertekent alleen; het heeft geen subopdracht voor verificatie. Om een ​​handtekening te bevestigen is een aparte, platformspecifieke tool nodig: signtool verify /pa op Windows, of osslsigncode verify op Linux en macOS.

Moet de CI/CD-buildagent het P12-authenticatiecertificaat bewaren na ondertekening?

Nee. De privésleutel voor ondertekening verlaat de HSM van CodeSign Secure nooit, dus er is geen ondertekeningssleutel die lokaal hoeft te worden verwijderd. Het P12-authenticatiecertificaat dat wordt gebruikt om de wrapper met CodeSign Secure te verbinden, moet van een buildagent worden verwijderd als deze wordt gedeeld of buiten gebruik wordt gesteld.

Conclusie

De PKCS Wrapper van Encryption Consulting vereenvoudigt het codeondertekeningsproces met JSign op Linux, Windows en macOS. Deze integratie vereenvoudigt een complexe taak, waardoor deze beter beheersbaar en minder foutgevoelig wordt.

Wilt u een soepele en betrouwbare ondertekeningservaring die meegroeit met uw behoeften? Overweeg dan ons codeondertekeningsproduct, CodeSign Secure . Deze oplossing verbetert de beveiliging van uw organisatie door best practices af te dwingen en gedetailleerde audit trails te bieden. CodeSign Secure is een uitgebreide tool die is ontworpen om uw codeondertekeningsworkflow naar een hoger niveau te tillen.