Zum Inhalt

47-Tage-Zertifikate sind in Planung. Bist du bereit?

Jetzt handeln →

Signieren Sie XML-Dateien mit dem XMLSec-Tool unter Verwendung der PKCS#11-Bibliothek

Signieren Sie XML-Dateien mit dem Tool xmlsec

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.01Signiertools Abschnitt und laden Sie den PKCS#11 Wrapper für Ubuntu herunter.  

Laden Sie PKCS#11 von Codesign Secure herunter

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

P12-Zertifikate generieren

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. 

Bearbeiten Sie Konfigurationsdateien unter Ubuntu

XMLSec-Tool installieren

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

Laden Sie die neueste XMLsec-Version herunter

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

Gezippte XMLsec 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

Überprüfen Sie die Java-Version

Java zur Umgebungsvariablen hinzufügen 

Schritt 1: Amazon Corretto 17 Java als aktive Version festlegen 

update-alternatives –config java

set corretto17 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

Java-Home-Variable hinzufügen

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

tail -3 ~/.bashrc 

Überprüfen Sie die BashRc-Datei

Schritt 4: Laden Sie die Umgebungsvariablen neu 

Quelle ~ /. Bashrc 

Umgebungsvariablen neu laden

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

echo $JAVA_HOME 

Überprüfen Sie die Java-Home-Variable

Unterzeichnung 

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

Arbeitsverzeichnis ändern

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 

Enterprise Code-Signing-Lösung

Holen Sie sich mit unserer Code-Signing-Lösung eine Lösung für alle Ihre kryptografischen Software-Code-Signing-Anforderungen.

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.01Signiertools Abschnitt und laden Sie den PKCS#11 Wrapper für Mac herunter.  

Laden Sie PKCS#11 für Mac herunter

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

P12-Zertifikate generieren

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. 

Konfigurationsdatei bearbeiten

XMLSec-Tool installieren

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

XMLsec-Tool installieren

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

XMLsectool.sh-Datei nach dem Download

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. 

XMLsectool installieren

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

Java-Version 

Überprüfen Sie die 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 

Holen Sie sich den vollständigen Installationspfad für Corretto 17

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 

Java-Home-Variable hinzufügen

Schritt 3: Laden Sie die Umgebungsvariablen neu 

Quelle ~/.zshrc 

Umgebungsvariable neu laden

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

echo $JAVA_HOME 

Überprüfen Sie die Java-Home-Variable

Unterzeichnung

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

Arbeitsverzeichnis ändern

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 

Enterprise Code-Signing-Lösung

Holen Sie sich mit unserer Code-Signing-Lösung eine Lösung für alle Ihre kryptografischen Software-Code-Signing-Anforderungen.

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.