Laut einer Fünfjahresprognose von IDC Global DataSphere (2024–2028) wird die Menge der erstellten, verteilten, erfassten und genutzten Daten bis 2025 voraussichtlich 175 Zettabyte (ZB) erreichen. Zum besseren Verständnis: 1 ZB entspricht einer Billion Gigabyte (GB). Die meisten dieser Daten sind unstrukturiert und benötigen etwas, das ihnen Bedeutung verleiht. Hier kommen XML-Dateien ins Spiel.
eXtensible Markup Language (XML) ist eine Auszeichnungssprache, die Regeln festlegt und Daten organisiert. Sie beschreibt außerdem, wie Daten gespeichert und über das Internet transportiert werden. XML verwendet Auszeichnungssymbole oder Tags, die moderne Browser und Datenverarbeitungsanwendungen zur Verarbeitung dieser Informationen verwenden.
XML-Signierung
XML-Dateien werden in großer Zahl verwendet und sind daher ein integraler Bestandteil unserer webbasierten Anwendungen und Technologien. Aber ist XML-Datei vertrauenswürdig? Wie können Sie Vertrauen in die Authentizität einer XML-Datei aufbauen? Sie benötigen einen digitalen Nachweis oder Stempel, Unterschrift um die Quelle zu authentifizieren und zu verifizieren.
Mithilfe der XML-Signatur können Sie Ihre digitalen Anmeldeinformationen anhängen, wodurch der Empfänger dem Inhalt der Datei voll und ganz vertrauen kann. Um diesen Prozess zu vereinfachen, Verschlüsselungsberatung versorgt dich mit PKCS # 11 Wrapper, eine Softwarebibliothek, die eine Java-Schnittstelle zur Interaktion mit PKCS#11-kompatiblen Geräten bereitstellt, wie z. B. Hardware-Sicherheitsmodule (HSMs), Smartcards oder beliebige Schlüsseltresore.
Zusammen mit PKCS#11 Wrapper verwenden wir das XMLSec-Tool, ein Befehlszeilentool zum Signieren, Überprüfen, verschlüsseln und entschlüsseln XML-Dokumente.
Konfiguration des PKCS#11 Wrappers unter Ubuntu
Voraussetzungen:
Bevor wir uns mit dem Prozess der XML-Signierung mit dem XMLSec-Tool und unserem PKCS11-Wrapper auf einer Linux-Maschine (Ubuntu) befassen, stellen Sie sicher, dass Folgendes bereit ist:
- Ubuntu-Version: Ubuntu Version 22.04 oder höher (getestete Umgebung ist Ubuntu 24.02)
- Abhängigkeiten: Installieren Sie liblog4cxx12 und curl.
Um die Abhängigkeiten zu installieren, führen Sie die folgenden Befehle aus
- sudo apt-get installieren locken
- sudo apt-get installiere liblog4cxx12
Installieren des PKCS#11-Wrappers von EC
Schritt 1: Gehe zu EC CodeSign Secure v3.01 Signiertools Abschnitt und laden Sie den PKCS#11 Wrapper für Ubuntu herunter.

Schritt 2: Anschließend generieren Sie ein P12-Authentifizierungszertifikat aus dem System-Setup > Benutzer > Authentifizierungszertifikat generieren Dropdown-Liste.

Schritt 3: Gehen Sie zu Ihrem Ubuntu-Clientsystem und bearbeiten Sie die Konfigurationsdateien (ec_PKCS#11client.ini und PKCS#11properties.cfg) im PKCS#11 Wrapper heruntergeladen.

XMLSec-Tool installieren
Schritt 1: Installieren Sie die neueste Version des XMLSec-Tools (xmlsectool-3.0.0-bin.zip) mit diesem Link.

Schritt 2: Sie können die Zip-Datei in ein Verzeichnis Ihrer Wahl extrahieren.

Laden Sie Java herunter und installieren Sie es auf Ihrem Ubuntu-Computer.
Schritt 1: Laden Sie Amazon Corretto 17 Java herunter (Sie können andere unterstützte Java-Versionen mit dem XMLSec Tool überprüfen hier.)
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
Schritt 2: Java-Paket installieren
sudo apt-get update; sudo apt-get install -y java-17-amazon-corretto-jdk
Schritt 3: Überprüfen Sie, ob Java ordnungsgemäß installiert wurde oder nicht
Java-Version

Java zur Umgebungsvariablen hinzufügen
Schritt 1: Amazon Corretto 17 Java als aktive Version festlegen
update-alternatives –config java

Schritt 2: Fügen Sie die Variable „JAVA_HOME“ in die Datei ~/.bashrc ein
echo „export JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto“ >> ~/.bashrc

Schritt 3: Überprüfen Sie die Datei ~/.bashrc
tail -3 ~/.bashrc

Schritt 4: Laden Sie die Umgebungsvariablen neu
Quelle ~ /. Bashrc

Schritt 5: Überprüfen Sie den Wert der Variable JAVA_HOME
echo $JAVA_HOME

Unterzeichnung
Schritt 1: Ändern Sie das Arbeitsverzeichnis des Terminals in den Ordner, der Ihre Datei „ec_pkcs11client.ini“ enthält.

Schritt 2: Führen Sie den Signaturbefehl aus diesem Verzeichnis aus.
–sign –pkcs11Config –keyAlias –keyPassword KEINE –inFile –outFile
Nachfolgend finden Sie einen Beispielbefehl:
../xmlsectool-3.0.0-bin/xmlsectool-3.0.0/xmlsectool.sh –sign –pkcs11Config pkcs11properties.cfg –keyAlias DemoCertificate –keyPassword NONE –inFile ../xmlSample.xml –outFile ../out-xmlSample.xml
Verification
Führen Sie den Überprüfungsbefehl aus
–verifySignature –pkcs11Config –keyAlias –keyPassword KEINE –inFile
Nachfolgend finden Sie einen Beispielbefehl:
../xmlsectool-3.0.0-bin/xmlsectool-3.0.0/xmlsectool.sh –verifySignature –pkcs11Config pkcs11properties.cfg –keyAlias gpg2 –keyPassword NONE –inFile ../out-sample.xml
Konfiguration des PKCS#11 Wrappers unter MacOS
Voraussetzungen:
Bevor wir uns mit dem Prozess der XML-Signierung mit dem XMLSec-Tool und unserem PKCS#11-Wrapper auf einem MacOS-Computer befassen, stellen Sie sicher, dass Folgendes bereit ist:
- MacOS-Version: MacOS Version 13 (Ventura) oder höher (getestete Umgebung ist MacOS 15.1 Sequoia)
- Abhängigkeiten: Installieren Sie liblog4cxx und curl.
Um die Abhängigkeiten zu installieren, führen Sie die folgenden Befehle aus
- brew install log4cxx
- brew installieren curl
Installieren des PKCS#11-Wrappers von EC
Schritt 1: Gehe zu EC CodeSign Secure v3.01 Signiertools Abschnitt und laden Sie den PKCS#11 Wrapper für Mac herunter.

Schritt 2: Anschließend generieren Sie ein P12-Authentifizierungszertifikat aus dem System-Setup > Benutzer > Authentifizierungszertifikat generieren Dropdown-Liste.

Schritt 3: Gehen Sie zu Ihrem MacOS-Clientsystem und bearbeiten Sie die Konfigurationsdateien (ec_PKCS#11client.ini und PKCS#11properties.cfg) im PKCS#11 Wrapper heruntergeladen.

XMLSec-Tool installieren
Schritt 1: Laden Sie die neueste Version des XMLSec-Tools (xmlsectool-3.0.0-bin.zip) herunter. Link.

Sie benötigen diese Shell-Datei, um die XML-Signierung durchzuführen

Laden Sie Java herunter und installieren Sie es auf Ihrem MacOS-Computer.
Schritt 1: Laden Sie Amazon Corretto 17 Java herunter (Sie können andere unterstützte Java-Versionen mit dem XMLSec-Tool überprüfen werden auf dieser Seite erläutert ).
Sie können diese Link um die .pkg-Datei für die MacOS-Umgebung herunterzuladen
Schritt 2: Java-Paket installieren
Beginnen Sie die Installation mit der heruntergeladenen Datei.

Schritt 3: Überprüfen Sie, ob Java ordnungsgemäß installiert wurde oder nicht
Java-Version

Java zur Umgebungsvariablen hinzufügen
Schritt 1: Holen Sie sich den vollständigen Installationspfad von Amazon Corretto 17 Java
/usr/libexec/java_home –Verbose

Schritt 2: Fügen Sie die Variable „JAVA_HOME“ in die Datei ~/.zshrc ein
echo 'export JAVA_HOME=”/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home”' >> ~/.zshrc

Schritt 3: Laden Sie die Umgebungsvariablen neu
Quelle ~/.zshrc

Schritt 4: Überprüfen Sie den Wert der Variable JAVA_HOME
echo $JAVA_HOME

Unterzeichnung
Schritt 1: Ändern Sie das Arbeitsverzeichnis des Terminals in den Ordner, der Ihre Datei „ec_pkcs11client.ini“ enthält.

Schritt 2: Führen Sie den Signaturbefehl aus diesem Verzeichnis aus.
–sign –pkcs11Config –keyAlias –keyPassword KEINE –inFile –outFile
Nachfolgend finden Sie einen Beispielbefehl:
../xmlsectool-3.0.0/xmlsectool.sh –sign –pkcs11Config pkcs11properties.cfg –keyAlias DemoCertificate –keyPassword NONE –inFile ../xmlSample.xml –outFile ../SignedSample.xml
Verification
Führen Sie den Überprüfungsbefehl aus
–verifySignature –pkcs11Config –keyAlias –keyPassword KEINE –inFile
Nachfolgend finden Sie einen Beispielbefehl:
../xmlsectool-3.0.0/xmlsectool.sh –verifySignature –pkcs11Config pkcs11properties.cfg –keyAlias gpg2 –keyPassword NONE –inFile ../Signedsample.xml
Fazit
Angesichts der zunehmenden Zahl unstrukturierter Daten Unterzeichnung ist das Gebot der Stunde. Die nahtlose Integration unseres PKCS#11 Wrappers und XMLSec-Tools bietet eine flexible und effiziente Lösung für die Signierung von XML-Dokumenten.
Mit Encryption Consulting CodeSign Secure Mit dieser Lösung können Sie das Vertrauen Ihrer Kunden aufbauen und stärken. Sie bietet Funktionen wie clientseitiges Hashing, rollenbasierten Zugriff und Anwendungsmanagement zur Sicherung Ihrer Daten. Sie ermöglicht die Integration verschiedener DevOps CI / CD Pipelines für die freihändige, automatisierte Code-Signierung.
