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 metjava -jar jsign-7.0.jar), en controleer vervolgens het resultaat metsigntool verify /paop Windows ofosslsigncode verifyOp 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
| Bestanddeel | Ubuntu | Windows | macOS |
|---|---|---|---|
| Geteste OS-versie | Ubuntu 24.02 | Ramen 11 23H2 | Sequoia 15.2 |
| Java-versie | 17 | 22 | 17 |
| JSign-pakket | .deb (jsign_7.0_all.deb) | .jar (jsign-7.0.jar) | .jar (jsign-7.0.jar) |
| Aanroeping | jsign direct | java -jar jsign-7.0.jar | java -jar jsign-7.0.jar |
| CodeSign Secure-versie | v3.02 | v3.02 | v3.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.

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.

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

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.

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


Stap 2: Installeer het Debian-pakket
sudo dpkg --install jsign_7.0_all.deb

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

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

Stap 2: Stel Java 17 in als de actieve versie.
sudo update-alternatives --config java

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

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.
<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

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)
| Fout | waarschijnlijke oorzaak | Bepalen |
|---|---|---|
| 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.

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

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.


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.

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


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

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

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.

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

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)
| Fout | waarschijnlijke oorzaak | Bepalen |
|---|---|---|
| `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.

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

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.

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=

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.

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.
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

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.
- Key Takeaways
- Omgevingsmatrix
- Wat is JSign?
- Configuratie van PKCS#11 Wrapper op Ubuntu
- Voorwaarden
- Installatie van EC's PKCS#11 Wrapper
- JSign Tool installeren
- Installeer Java op uw Ubuntu-machine.
- Signing
- Verificatie (Ubuntu)
- Veelvoorkomende fouten (Ubuntu)
- Voorwaarden
- Installatie van EC's PKCS#11 Wrapper
- Installeer Java op uw Windows-computer.
- JSign Tool installeren
- Signing
- Verificatie (Windows)
- Veelvoorkomende fouten (Windows)
- Configuratie van PKCS#11 Wrapper op MacOS
- Veelgestelde Vragen / FAQ
- Conclusie
