Meteen naar de inhoud

Certificaten met een geldigheidsduur van 47 dagen komen eraan. Ben je klaar?

Handel nu →

JAR-bestanden ondertekenen met Jarsigner met behulp van CodeSign Secure

Onderteken JAR-bestanden met JarSigner

Jar-bestanden, ook wel Java-archieven genoemd, worden gebruikt om verschillende Java-klassebestanden en de bijbehorende gegevens in één bestand te ordenen. Ze spelen een essentiële rol bij de distributie van Java-programma's en zorgen voor een moeiteloze distributie en werking op verschillende platforms. Het ondertekenen van Jar-bestanden om hun geldigheid en integriteit te garanderen, is een belangrijk aspect van de distributie van Java-programma's. Dit is met name cruciaal voor de beveiliging van webgebaseerde applicaties en het waarborgen van de betrouwbaarheid van bibliotheken van derden. De JarSigner-tool wordt hiervoor meegeleverd met de Java Development Kit (JDK). 

De JarSigner maakt een handtekeningbestand aan voor het oorspronkelijke Jar-bestand. Dit handtekeningbestand bevat de cryptografische hashes van alle inhoud van het JAR-bestand. De tool gebruikt vervolgens een digitale handtekening algoritme om een ​​tweede handtekeningbestand te construeren (RSADeze twee handtekeningbestanden worden, samen met de initiële bestanden, in het JAR-bestand bewaard. De JarSigner extraheert het initiële JAR-bestand en de bijbehorende handtekeningbestanden tijdens het verificatieproces. De hashwaarden voor het initiële JAR-bestand worden vervolgens berekend en vergeleken met de waarden in het handtekeningbestand. Het JAR-bestand wordt als legitiem en betrouwbaar beschouwd als de hashwaarden overeenkomen. Anders wordt het JAR-bestand als ongeldig beschouwd en kan het niet worden uitgevoerd. 

Het toevoegen van een digitale handtekening vergemakkelijkt de verificatie van de oorsprong en identiteit van JAR-bestanden. Cryptografische algoritmen spelen een belangrijke rol bij het waarborgen van robuuste bescherming door geavanceerde wiskundige technieken te implementeren in het ondertekeningsproces. Er bestaan ​​verschillende methoden voor het ondertekenen van JAR-bestanden. Hieronder vindt u een beknopt overzicht van de verschillende benaderingen.

JAR-bestanden ondertekenen met de JarSigner-tool

In deze sectie wordt beschreven hoe u JAR-bestanden ondertekent met de JarSigner-tool. Java moet geïnstalleerd zijn om te kunnen werken. Download en installeer Java van https://www.oracle.com/java/technologies/downloadsEr zijn verschillende manieren om JarSigner te gebruiken: met de CodeSign Secure KSP, opdrachtprompt, Door de Eclipse IDE, of via een Jenkins-pijpleiding.

Met CodeSign Secure KSP

  • Navigeer naar de Java JDK-installatie en ga naar de map bin (meestal te vinden in C:\Program Files\Java\jdk-20\bin). Daar vindt u de JarSigner-applicatie "Jasigner.exe".
  • U kunt de toepassing naar de opdrachtregel slepen om het pad te achterhalen, of u kunt eenvoudig naar de map navigeren met de opdracht cmd.
  • In cmd specificeren we eerst ons winkeltype, dit doen we met behulp van -storetype Windows-My. Hier komt onze KSP in beeld.
  • Geef het ondertekeningsalgoritme op met: sigalg SHA256 met RSAU kunt elk gewenst ondertekeningsalgoritme gebruiken.
  • Specificeer tijdstempelserver: –tsa http://timestamp.digicert.com
  • Geef aan welk JAR-bestand u wilt ondertekenen.
  • Geef de sleutelalias van het certificaat op.

Al met al ziet de opdracht er ongeveer zo uit: deze moet worden uitgevoerd vanuit de directory waar JarSigner Application zich bevindt.

-storetype Windows-Mijn -sigalg SHA256withRSA -tsa http://timestamp.digicert.com C:\Gebruikers\ja785\Bureaublad\test.jar “evcodesigning”

cmdsto

We kunnen Jar Signer Verifier uitvoeren om te controleren of de Jar-bestanden zijn ondertekend.

Dit gebeurt in dezelfde directory als die van de ondertekenaar en met behulp van de onderstaande opdracht.

-verifiëren

cmdsto2

Met opdrachtprompt

Hieronder vindt u een lijst met de beschikbare opdrachtparameters en een korte uitleg van hun functies.

-s of –tekenJAR-bestand moet worden ondertekend.
-v of –verifiërenJAR-bestand moet geverifieerd worden.
-c of –cert-padPad naar certificaatbestand.
-u of –gebruikerGebruikersnaam. Een gebruikersnaam op de server van Encryption Consulting.
-k of –keySleutel voor ondertekening/verificatie geleverd door de server van Encryption Consulting.
-a of –algoritmeAlgoritme dat gebruikt moet worden voor ondertekening/verificatie. Een van de onderstaande opties moet gebruikt worden:
SHA-256 
SHA-384 
SHA-512 
-o of –uitvoerGeef het uitvoerbestand het pad als het ondertekende bestand.
-h of –helpHelp
-versieVersienummer weergeven
- VerbaalDebuglogs weergeven

Om een ​​jar-bestand te ondertekenen met JarSigner, opent u eerst een beheerdersopdrachtprompt en voert u deze opdracht in:

cd C:\Gebruikers\Beheerder\Bureaublad\JarSigner-main (1)\JarSigner-main\JarSignerAgent\doel

Het commando om te ondertekenen is als volgt, onthoud de inhoud in zijn voorbeeldinvoergegevens, u moet de specifieke bestandsnamen en paden opgeven: 

java -classpath .;jarsigner-jar-met-afhankelijkheden.jar;”C:\Program Files\Java\jdk1.8.0_202\lib\tools.jar” com.security.SignerMain -s “”-k”” -een “SHA-256” -o “”-u “beheerder”-c “

De verwachte output is als volgt:

Jarsigner-initialisatie vanaf de opdrachtprompt

Om een ​​jar-bestand te verifiëren met JarSigner, voert u de volgende opdracht in:

java -classpath .;jarsigner-jar-met-afhankelijkheden.jar;”C:\Program Files\Java\jdk1.8.0_202\lib\tools.jar” com.security.SignerMain -v “”-k”” -a “SHA-256” -u “beheerder”

De verwachte output is als volgt:

verifieer een jar-bestand met JarSigner

Oplossing voor codeondertekening voor bedrijven

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

Met Eclipse (Maven Project)

Om een ​​jar-bestand te ondertekenen met behulp van de Eclipse IDE, moet u eerst Eclipse.

  • Wanneer de installatiewizard verschijnt, selecteert u Eclipse IDE voor Java Developers en klikt u op Installeren. 
Installatie van Eclipse IDE
  • Zorg ervoor dat het bestand CodeSignerAgent.zip is uitgepakt. Klik vervolgens in de Eclipse-gebruikersinterface linksboven in het venster op 'Importeren'. 
Eclipse-gebruikersinterface
  • Selecteer vervolgens Bestaande Maven-projecten importeren. 
Bestaande Maven-projecten importeren
  • Selecteer vervolgens de map CodeSignerAgent in de browser, zoals hieronder weergegeven:
Selecteer de CodeSignerAgent-map in de browser
  • Maak vervolgens een JDK-bibliotheek aan door op 'Projectbibliotheek' te klikken. Selecteer JDK 1.8 als bibliotheekpad. Installeer JDK 1.8 indien niet beschikbaar.

Referentie: https://www.oracle.com/in/java/technologies/javase/javase8-archive-downloads.html

JRE-venster toevoegen
JRE-systeem Bibliotheek toevoegen
  • Voeg deze JDK-bibliotheek toe aan de projectbibliotheek. Verwijder de JRE-bibliotheek. 
Voeg deze JDK-bibliotheek toe aan de projectbibliotheek
  • Open vervolgens het projectbestand pom.xml en wijzig het JDK 1.8-pad naar uw computer. 
open het project pom.xml-bestand
  • Klik vervolgens met de rechtermuisknop op het project en selecteer Uitvoeren als: Maven installeren
Uitvoeren als Maven-installatie
  • Hieronder wordt weergegeven of de build succesvol is en in de doelmap van het project wordt JarSigner.jar aangemaakt. 
Het succes van de bouw zal worden getoond
doelmap van het JarSigner.jar-project

Jenkins-pijpleiding

Het gebruik van JarSigner in een pipeline kan nuttig zijn om potentiële updates en nieuwe builds te testen. Het JarSigner-project is vooraf geconfigureerd op het Jenkins-dashboard. 

Om in te loggen, opent u een webbrowser (bij voorkeur Google Chrome) en typt u: http://localhost:8080/ om toegang te krijgen tot het Jenkins-dashboard.

Jenkins-dashboard

Hier kunt u alle builds en algemene informatie erover bekijken.

Volg de onderstaande stappen in het Jenkins Dashboard:

  • Klik op Nieuw item op het Dashboard. 
Klik vanuit het Dashboard op Nieuw Item
  • Voer een naam voor het item in en klik op Freestyle Project en klik op OK. 
klik op Freestyle Project
  • Op de configuratiepagina kunt u onder Algemeen een omschrijving naar wens invullen.
configuratiepagina jenkins

Dit is waar de JarSigner-code wordt uitgevoerd, door een Bouwstap uit die Voert een Windows-batchopdracht uit We kunnen de JarSigner-code aanroepen en uitvoeren via de Jenkins-pijplijn. 

Dit is waar de JarSigner-code

Sla eventuele wijzigingen op door te klikken op Opslaan aan de onderkant.

Zodra je het hebt opgeslagen, klik je op 'Nu bouwen'. Je ziet dan een buildnummer op je scherm verschijnen. Voor meer informatie over de buildstappen en algemene buildinstellingen kun je klikken op Configure naast de knop Nu bouwen.

je ziet een buildnummer

Klik links onderaan de knoppenlijst op de pijl omhoog bij Buildgeschiedenis om de meest recente builds van het project te bekijken. Selecteer de meest recente en u ziet de pagina met buildinformatie. Om de output van de build te bekijken, klikt u op Console-uitgang knop aan de linkerkant van het scherm.

bouwinformatiepagina

U kunt de console-uitvoer ook in platte tekstformaat bekijken door te klikken Bekijken als platte tekst onder de Console-uitgang knop. Zoals hieronder weergegeven, voert deze build de JarSigner uit.

Jenkins Console-uitvoer

Conclusie 

Concluderend is het begrijpen van de concepten van het ondertekenen van JAR-bestanden en het gebruik van de 'JAR Signer'-tool essentieel voor zowel Java-ontwikkelaars als -gebruikers. Door deze functionaliteit te benutten, kunnen de beveiliging en betrouwbaarheid van hun applicaties worden verbeterd, waardoor ze worden beschermd tegen mogelijke manipulatie en de betrouwbaarheid van bibliotheken van derden wordt gewaarborgd. Aangezien de beveiliging van webgebaseerde applicaties een prioriteit blijft, is het van onschatbare waarde om vertrouwd te raken met het proces van het ondertekenen van JAR-bestanden om voorop te blijven lopen in dit snel veranderende landschap.

Encryptie Consulting begrijpt de noodzaak om bestanden en applicaties te ondertekenen in dit digitale tijdperk. Ons codeondertekeningsplatform, CodeSign Secure, toont onze toewijding aan beveiliging. We bieden handtekeninggeneratie met Hardwarebeveiligingsmodules, samen met client-side hashing en virusscanning. Wij zetten ons in voor uw veiligheid en we zijn er om u te voorzien van de informatie en tools die u nodig hebt om de dingen te beveiligen die voor u het belangrijkst zijn. Bezoek www.encryptionconsulting.com om meer te weten te komen over een van onze producten of om een ​​CodeSign Secure Demo te boeken.