Codeondertekening is een cruciaal proces in softwareontwikkeling dat de authenticiteit en integriteit van applicaties waarborgt en ze beschermt tegen manipulatie en ongeautoriseerde wijzigingen. Om dit proces te verbeteren, biedt Encryption Consulting PKCS # 11 bibliotheek biedt een krachtige oplossing voor het uitvoeren van codeondertekening met Jarsigner op meerdere besturingssystemen, waaronder Windows, Linux (Ubuntu) en macOS.
Jarsigner
De Jarsigner-tool, die deel uitmaakt van de Java Development Kit (JDK), biedt een robuust mechanisme voor het digitaal ondertekenen van bestanden. Daarmee is het een essentiële tool voor Java-ontwikkelaars die applicaties op verschillende platforms distribueren.
Het is handig om de onderstaande bestandstypen te ondertekenen:
- .pot: Java-archiefbestanden zijn algemene archieven voor Java-klassen en -bronnen.
- .oor: Enterprise Archive-bestanden, gebruikt voor het verpakken van Java EE-bedrijfsapplicaties.
- .oorlog: Web Application Archive-bestanden, gebruikt voor het verpakken van Java-webtoepassingen.
- .sar: Service Archive-bestanden, gebruikt voor het verpakken van services in sommige Java EE-omgevingen.
Configuratie van PKCS#11 Wrapper op Ubuntu
Voorwaarden
Voordat we ingaan op het ondertekeningsproces met Jarsigner Tool en onze PKCS11 Wrapper op een Linux (Ubuntu) machine, moet u ervoor zorgen 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 EC CodeSign Secure's v3.02's Ondertekeningshulpmiddelen sectie en download de PKCS#11 Wrapper voor Ubuntu.

Stap 2: Genereer daarna een P12-authenticatiecertificaat van de Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren dropdown.

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

Installeer Java op uw Ubuntu-machine.
U moet ook Java (Java 8-17) op uw Ubuntu-computer installeren, zodat Jarsigner met onze PKCS11 Wrapper kan werken.
Stap 1: Installeer Java 17 op uw Ubuntu-machine.
sudo apt installeer openjdk-17-jdk

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

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

Stap 4: Stel Java 17 in als de actieve versie.
Run: nano ~ / .bashrc
Nadat u de bovenstaande opdracht hebt uitgevoerd, voegt u de volgende regels toe aan het einde van het bestand:
exporteer JAVA_HOME=
exporteer PATH=$JAVA_HOME/bin:$PATH

Druk op Ctrl + X, vervolgens op Y om te bevestigen en ten slotte op Enter om op te slaan.
Stap 5: Laad het bashrc-bestand opnieuw
Run: source ~ / .bashrc
Stap 6: Controleer of de variabele is ingesteld
echo $JAVA_HOME
Als dat niet lukt, open dan een nieuwe terminal en probeer het opnieuw.
Signing
Stap 1: Wijzig de werkmap van de terminal naar de map die de bestanden “ec_pkcs11client.ini” en “pkcs11properties.cfg” bevat.

Stap 2: Voer de ondertekeningsopdracht uit vanuit deze directory.
-keystore GEEN -storepass GEEN -storetype PKCS11 -sigalg SHA256metRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -signedjar -tsa http://timestamp.digicert.com
Hieronder vindt u een voorbeeldopdracht:
jarsigner -keystore GEEN -storepass GEEN -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com
Verificatie
Stap 1: Voer de volgende opdracht uit ter verificatie:
-verifiëren -certs -verbose
Stap 2: Hieronder vindt u een voorbeeldopdracht:
jarsigner -verify helloworld_signed.jar -certs -verbose
Configuratie van PKCS#11 Wrapper op Windows
Voorwaarden
Voordat we ingaan op het gebruik van Jarsigner Tool en onze PKCS11 Wrapper op een Windows-computer, moet u ervoor zorgen dat het volgende klaar is:
- Windows-versie: Windows 11 (geteste omgeving is Windows 11 23H2)
Installatie van EC's PKCS#11 Wrapper
Stap 1: Ga naar EC CodeSign Secure's v3.02's Ondertekeningshulpmiddelen sectie en download de PKCS#11 Wrapper voor Windows.

Stap 2: Genereer daarna een P12-authenticatiecertificaat van de Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren dropdown.

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


Java installeren op uw Windows-machine
U moet ook Java (Java 8-22) op uw Windows-computer installeren, zodat Jarsigner met onze PKCS11 Wrapper kan werken.
Stap 1: Installeer Java 22 (.exe installer) op uw Windows-machine vanaf Oracle's officiële site.

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 bin-pad op te slaan in de PATH-variabele.

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

Stap 2: Voer de ondertekeningsopdracht uit vanuit deze directory.
-keystore GEEN -storepass GEEN -storetype PKCS11 -sigalg SHA256metRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -signedjar -tsa http://timestamp.digicert.com
Hieronder vindt u een voorbeeldopdracht:
jarsigner -keystore GEEN -storepass GEEN -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com
Verificatie
Stap 1: Voer de volgende opdracht uit ter verificatie:
-verifiëren -certs -verbose
Stap 2: Hieronder vindt u een voorbeeldopdracht:
jarsigner -verify helloworld_signed.jar -certs -verbose
Configuratie van PKCS#11 Wrapper op MacOS
Voorwaarden
Voordat we ingaan op het gebruik van Jarsigner Tool en onze PKCS11 Wrapper op een MacOS-computer, moet u ervoor zorgen dat het volgende klaar 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 EC CodeSign Secure's v3.02's Ondertekeningshulpmiddelen sectie en download de PKCS#11 Wrapper voor MacOS.

Stap 2: Genereer daarna een P12-authenticatiecertificaat van de Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren dropdown.

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

Installeer Java op uw MacOS-computer.
U moet ook Java (Java 8-17) op uw MacOS-computer installeren, zodat Jarsigner met onze PKCS11 Wrapper kan werken.
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: bron ~/.zshrc
Voor Bash: source ~ / .bash_profile
Signing
Stap 1: Wijzig de werkmap van de terminal naar de map die de bestanden “ec_pkcs11client.ini” en “pkcs11properties.cfg” bevat.
Stap 2: Voer de ondertekeningsopdracht uit vanuit deze directory.
-keystore GEEN -storepass GEEN -storetype PKCS11 -sigalg SHA256metRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg -signedjar -tsa http://timestamp.digicert.com
Hieronder vindt u een voorbeeldopdracht:
jarsigner -keystore GEEN -storepass GEEN -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties.cfg -signedjar helloworld_signed.jar helloworld.jar gpg2 -tsa http://timestamp.digicert.com
Verificatie
Stap 1: Voer de volgende opdracht uit ter verificatie:
-verifiëren -certs -verbose
Stap 2: Hieronder vindt u een voorbeeldopdracht:
jarsigner -verify helloworld_signed.jar -certs -verbose
Conclusie
CodeSign Secure van Encryption Consulting tilt codeondertekening naar een hoger niveau door een uitgebreid platform te bieden dat niet alleen het ondertekeningsproces stroomlijnt, maar ook de beveiliging van de organisatie aanzienlijk verbetert. Door gebruik te maken van geavanceerde functies zoals Hardwarebeveiligingsmodule Met behulp van integratie, client-side hashing en virusscanning zorgt CodeSign Secure ervoor dat ondertekeningssleutels veilig blijven en ondertekende applicaties vrij zijn van malware.
CodeSign Secure integreert moeiteloos in CI/CD-pipelines, waardoor het ideaal is voor organisaties die hun ontwikkelworkflows willen automatiseren en opschalen en tegelijkertijd strikte beveiligingsregels willen naleven. Met gedetailleerde audit trails en beleidshandhaving biedt het transparantie en verantwoording, waardoor bedrijven kunnen voldoen aan compliance-eisen en vertrouwen kunnen opbouwen bij hun gebruikers.
Door de naadloze integratie met Jarsigner vereenvoudigt de PKCS#11-bibliotheek van Encryption Consulting de configuratie en uitvoering van ondertekeningstaken, wat zorgt voor een consistente en veilige ervaring, ongeacht het platform. Of u nu ontwikkelt op Windows, implementeert op Ubuntu of test op macOS, deze bibliotheek stelt ontwikkelaars in staat om hoge beveiligingsnormen te handhaven met minimale complexiteit.
