Enligt en femårsprognos för IDC Global DataSphere, 2024-2028, förutspås det att mängden data som skapas, distribueras, samlas in och konsumeras kommer att nå 175 Zettabyte (ZB) år 2025. För att förstå det bättre motsvarar 1 ZB en biljon gigabyte (GB). Merparten av denna data är ostrukturerad och behöver något som ger den mening. Det är här XML-filer kommer in i bilden.
eXtensible Markup Language eller XML är ett markupspråk som etablerar regler och organiserar all data. Det anger också hur data ska lagras och transporteras över internet. XML använder markupsymboler eller taggar, som moderna webbläsare och databehandlingsprogram använder för att bearbeta informationen.
XML-signering
XML-filer används i stort antal, vilket gör dem till en integrerad del av våra webbaserade applikationer och teknik. Men ska man lita på vilken XML-fil som helst? Hur kan man utveckla förtroende för XML-filens äkthet? Du behöver ett digitalt bevis eller namnteckning att autentisera och verifiera dess källa.
XML-signering hjälper dig att bifoga dina digitala inloggningsuppgifter, vilket hjälper mottagaren att lita fullt ut på filens innehåll. För att förenkla processen, Krypteringskonsulting ger dig med PKCS # 11 Wrapper, ett programbibliotek som tillhandahåller ett Java-gränssnitt för att interagera med PKCS#11-kompatibla enheter som Hårdvarusäkerhetsmoduler (HSM), smartkort eller andra nyckelvalv.
Tillsammans med PKCS#11 Wrapper kommer vi att använda XMLSec-verktyget, ett kommandoradsverktyg för signering, verifiering, krypteringsoch dekryptering XML-dokument.
Konfiguration av PKCS#11 Wrapper på Ubuntu
Förutsättningar
Innan vi tittar på processen för XML-signering med XMLSec Tool och vår PKCS11 Wrapper i Linux (Ubuntu) maskin, se till att följande är klart:
- Ubuntu-version: Ubuntu version 22.04 eller senare (testmiljön är Ubuntu 24.02)
- beroenden: Installera liblog4cxx12 och curl.
För att installera beroendena, kör följande kommandon
- sudo apt-get installera curl
- sudo apt-get install liblog4cxx12
Installera EC:s PKCS#11-omslag
Steg 1: Gå till EC CodeSign Secures v3.01 Signeringsverktyg avsnittet och ladda ner PKCS#11 Wrapper för Ubuntu.

Steg 2: Generera sedan ett P12-autentiseringscertifikat från Systeminställningar > Användare > Generera autentiseringscertifikat falla ner.

Steg 3: Gå till ditt Ubuntu-klientsystem och redigera konfigurationsfilerna (ec_PKCS#11client.ini och PKCS#11properties.cfg) laddades ner i PKCS#11 Wrapper.

Installera XMLSec-verktyget
Steg 1: Installera den senaste versionen av XMLSec Tool (xmlsectool-3.0.0-bin.zip) med hjälp av detta länken.

Steg 2: Du kan extrahera zip-filen till en valfri katalog.

Ladda ner och installera Java på din Ubuntu-maskin.
Steg 1: Ladda ner Amazon Corretto 17 Java (Du kan kontrollera andra Java-versioner som stöds med XMLSec Tool) här.)
wget -O – https://apt.corretto.aws/corretto.key | sudo gpg –dearmor -o /usr/share/keyrings/corretto-keyring.gpg && \ echo “deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main” | sudo tee /etc/apt/sources.list.d/corretto.list
Steg 2: Installera Java-paketet
sudo apt-get update; sudo apt-get install -y java-17-amazon-corretto-jdk
Steg 3: Kontrollera om Java har installerats korrekt eller inte
java -version

Lägg till Java till miljövariabel
Steg 1: Ställ in Amazon Corretto 17 Java som aktiv version
uppdateringsalternativ –konfiguration java

Steg 2: Lägg till variabeln "JAVA_HOME" i filen ~/.bashrc
echo “exportera JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto” >> ~/.bashrc

Steg 3: Kontrollera ~/.bashrc-filen
svans -3 ~/.bashrc

Steg 4: Ladda om miljövariablerna
källa ~ / .bashrc

Steg 5: Kontrollera JAVA_HOME-variabelns värde
echo $JAVA_HOME

Signering
Steg 1: Ändra terminalens arbetskatalog till den mapp som innehåller din "ec_pkcs11client.ini"-fil.

Steg 2: Kör signeringskommandot från den här katalogen.
–signera –pkcs11Konfigurera –nyckelAlias –nyckellösenord INGET –ifil –utfil
Ett exempelkommando ges nedan:
../xmlsectool-3.0.0-bin/xmlsectool-3.0.0/xmlsectool.sh –sign –pkcs11Config pkcs11properties.cfg –keyAlias DemoCertificate –keyPassword INGA –inFile ../xmlSample.xml –outFile ../out-xmlSample.xml
Verifiering
Kör verifieringskommandot
–verifieraSignatur –pkcs11Konfiguration –nyckelAlias –nyckellösenord INGET –ifil
Ett exempelkommando ges nedan:
../xmlsectool-3.0.0-bin/xmlsectool-3.0.0/xmlsectool.sh –verifySignature –pkcs11Config pkcs11properties.cfg –keyAlias gpg2 –keyPassword INGEN –inFile ../out-sample.xml
Konfiguration av PKCS#11 Wrapper på MacOS
Förutsättningar
Innan vi tittar på processen för XML-signering med XMLSec Tool och vår PKCS#11 Wrapper i MacOS-maskiner, se till att följande är klart:
- MacOS-version: MacOS version 13 (Ventura) eller senare (testmiljön är MacOS 15.1 Sequoia)
- beroenden: Installera liblog4cxx och curl.
För att installera beroendena, kör följande kommandon
- brygginstallationslog4cxx
- brygga installera curl
Installera EC:s PKCS#11-omslag
Steg 1: Gå till EC CodeSign Secures v3.01 Signeringsverktyg avsnittet och ladda ner PKCS#11 Wrapper för Mac.

Steg 2: Generera sedan ett P12-autentiseringscertifikat från Systeminställningar > Användare > Generera autentiseringscertifikat falla ner.

Steg 3: Gå till ditt MacOS-klientsystem och redigera konfigurationsfilerna (ec_PKCS#11client.ini och PKCS#11properties.cfg) laddades ner i PKCS#11 Wrapper.

Installera XMLSec-verktyget
Steg 1: Ladda ner den senaste versionen av XMLSec Tool (xmlsectool-3.0.0-bin.zip) med hjälp av detta länken.

Du behöver den här shell-filen för att utföra XML-signeringen

Ladda ner och installera Java på din MacOS-maskin.
Steg 1: Ladda ner Amazon Corretto 17 Java (Du kan kontrollera andra Java-versioner som stöds med XMLSec Tool) här. ).
Du kan använda detta länk för att ladda ner .pkg-filen för MacOS-miljön
Steg 2: Installera Java-paketet
Börja installationen med den nedladdade filen.

Steg 3: Kontrollera om Java har installerats korrekt eller inte
java -version

Lägg till Java till miljövariabel
Steg 1: Hämta den fullständiga installationssökvägen för Amazon Corretto 17 Java
/usr/libexec/java_home -Mångordig

Steg 2: Lägg till variabeln “JAVA_HOME” i filen ~/.zshrc
echo 'exportera JAVA_HOME="/Bibliotek/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Innehåll/Hem"' >> ~/.zshrc

Steg 3: Ladda om miljövariablerna
källa ~/.zshrc

Steg 4: Kontrollera JAVA_HOME-variabelns värde
echo $JAVA_HOME

Signering
Steg 1: Ändra terminalens arbetskatalog till den mapp som innehåller din "ec_pkcs11client.ini"-fil.

Steg 2: Kör signeringskommandot från den här katalogen.
–signera –pkcs11Konfigurera –nyckelAlias –nyckellösenord INGET –ifil –utfil
Ett exempelkommando ges nedan:
../xmlsectool-3.0.0/xmlsectool.sh –sign –pkcs11Config pkcs11properties.cfg –keyAlias DemoCertificate –keyPassword INGA –inFile ../xmlSample.xml –outFile ../SignedSample.xml
Verifiering
Kör verifieringskommandot
–verifieraSignatur –pkcs11Konfiguration –nyckelAlias –nyckellösenord INGET –ifil
Ett exempelkommando ges nedan:
../xmlsectool-3.0.0/xmlsectool.sh –verifySignature –pkcs11Config pkcs11properties.cfg –keyAlias gpg2 –keyPassword INGA –inFile ../Signedsample.xml
Slutsats
Med ostrukturerad data på uppgång, XML-dokument signering är dagens behov. Den sömlösa integrationen av vår PKCS#11 Wrapper och XMLSec-verktyget erbjuder en flexibel och effektiv lösning för XML-dokumentsignering.
Använda krypteringskonsulttjänster CodeSign Secure lösningen kan du bygga upp och öka ditt kundförtroende. Den erbjuder funktioner som klientsidig hashing, rollbaserad åtkomst och applikationshantering för att säkra dina data. Den låter dig integrera olika DevOps-funktioner. CI / CD pipelines för handsfree, automatiserad kodsignering.
