GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren Sie pyxmlsec - Python XML Security Library auf Ubuntu

XML-Verschlüsselung und digitale Signatur werden für die Sicherheit von XML-Dokumenten verwendet. Die Implementierung von XML-Verschlüsselung und digitaler Signatur existiert für verschiedene Programmiersprachen. Implementierung von XML-Verschlüsselung und digitaler Signatur jedoch in C Sprache ist sehr umfangreich. Es unterstützt viele Funktionen und basiert auf der LibXML2-Bibliothek. PyXMLSec ist die Python-Implementierung für XML-Sicherheitsfunktionen, unterstützt jedoch noch nicht alle Funktionen. Die aktuelle Version der Bibliothek unterstützt die folgenden XML-Sicherheitsstandards in Python.

a) XML-Signatur und -Verschlüsselung
b) Kanonisches XML

Voraussetzung für die PyXMLsec-Bibliothek

Die PyXMLSec-Bibliothek benötigt die folgenden Pakete für die Installation.

1) Python 2.2 oder höher

2) LibXML

3) XML-Sicherheitsbibliothek

Python ist bereits in der Ubuntu-Distribution installiert. LibXML kann durch Eingabe des folgenden Befehls im Terminal installiert werden, der in Abbildung

gezeigt wird
$sudo apt-get install python-libxml2

Die XML-Sicherheitsbibliothek kann mit dem folgenden Befehl im Terminal installiert werden. Die Installation der XML-Bibliothek wird im folgenden Schnappschuss gezeigt.

 $sudo apt-get install libxmlsec1-dev

Die Installation der C-Entwicklungsbibliothek ist in der folgenden Abbildung dargestellt.

$sudo apt-get install libxml-security-c-dev

Die Python-Implementierung der XML-Sicherheit wird mit dem unten angegebenen Terminal installiert, das auch in Abbildung gezeigt wird.

$sudo apt-get install xmlsec1

Laden Sie nach der Installation der Abhängigkeiten die neueste Version von PyXMLSec (0.3.1) mit dem folgenden Befehl im Verzeichnis Downloads herunter. Die folgende Abbildung zeigt den Download-Vorgang.

 $cd Downloads

$sudo wget labs.libre-entreprise.org/frs/download.php/897/pyxmlsec-0.3.1.tar.gz

Wir müssen PyXMLSec aus dem Quellpaket kompilieren, da deb-Pakete (Binärpaket) nicht verfügbar sind. Extrahieren Sie die heruntergeladene Datei pyxmlsec-0.3.1.tar.gz Paket mit folgendem Befehl im Terminal.

$sudo tar -xvzf pyxmlsec-0.3.1.tar.gz

Wechseln Sie in das extrahierte Verzeichnis mit dem cd-Befehl, der in der Abbildung gezeigt wird.

$cd pyxmlsec0.13.1

Sobald Sie sich im Stammverzeichnis des Pakets befinden, führen Sie sudo setup.py aus im Terminal für die Installation von PyxmlSec. Der Installationsprozess von PyXMLSec ist in der folgenden Abbildung dargestellt. Wählen Sie Option 1 zum Erstellen von PyXMLsec aus der Quelle. Die PyXMLsec-Bibliothek unterstützt OpenSSL-, NSS- und GnuTLS-Krypto-Engines. OpenSSL ist eine bekannte Krypto-Engine, die normalerweise in fast jeder Linux-Distribution installiert ist.

 $sudo ./setup.py

Führen Sie nach Abschluss des Build-Schritts denselben Befehl erneut aus und wählen Sie Option 2 für die Installation der Bibliothek, die unten gezeigt wird.

Beispiel

Einige Beispiele sind auf der PyXMLsec-Website im Abschnitt Dokumentation verfügbar. Wir haben Beispiele für XML-Signaturen (sign3.py) und Verifizierungen (verify3.py) zu Demonstrationszwecken ausgewählt. Das Signaturbeispiel erfordert die Eingabedatei (in unserem Fall document.xml) im XML-Format, Schlüssel und Zertifikate im PEM-Format. Also zuallererst Schlüsselpaar und selbstsigniertes Zertifikat, das beim Signieren erforderlich ist. OpenSSL ist ein weit verbreitetes Dienstprogramm für die Generierung von RSA-Schlüsselpaaren und Zertifikaten. Der folgende Befehl generiert ein RSA-Schlüsselpaar mit einer Größe von 2048 Bit und speichert es in der Datei „key.pem“. Es speichert auch das X509-Zertifikat in der Datei cer.pem.

#openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

XML-Signatur

Nach der Generierung von Schlüsseln und Zertifikat ist der nächste Schritt das Signieren der Eingabedatei. Beispiel für eine XML-Signatur nimmt Argumente im folgenden Format vom Benutzer.

#./sign.py <xml-doc> <key-file> <cert-file>

In unserem Fall ist die Eingabedatei für die XML-Signatur document.xml und resultierende Dateisignatur in output.xml gespeichert Datei, die unten gezeigt wird.

#./sign.py document.xml key.pem cert.pem > output.xml

XML-Verifizierung

In diesem Schritt nimmt das XML-Überprüfungsbeispiel eine output.xml-Datei mit Zertifikaten für die Überprüfung von XML-Signaturen. Das XML-Überprüfungsbeispiel nimmt Argumente im folgenden Format vom Benutzer entgegen.

#./verify.py <signed-file> <trusted-cert-pem-file1> [<trusted-cert-pem-file2> [...]]

In unserem Fall ist die Eingabedatei für die XML-Verifizierung output.xml und überprüft es, was unten gezeigt wird.

#./verify.py output.xml cert.pem

Schlussfolgerung

Ich hoffe, Ihnen hat dieser Artikel gefallen. PyXMLsec ist eine Python-Implementierung der XML-Sicherheit, die Verschlüsselung und digitale Signatur für XML-Dokumente bereitstellt. Es unterstützt Open-Source-Crypto-Engines wie OpenSSL, GnuTLS und NSS für symmetrische und asymmetrische Algorithmen.


Ubuntu
  1. So installieren Sie Python 3 unter Ubuntu 18.04 oder 20.04

  2. So installieren Sie Django unter Ubuntu 18.04

  3. So installieren Sie das TensorFlow-Framework für maschinelles Lernen unter Ubuntu 20.04

  4. So installieren Sie Python 3.9 unter Ubuntu 18.04

  5. Wie installiere ich Python 3.2 in Ubuntu 13.04?

Installieren Sie Python 3.9 auf Ubuntu 20.04 LTS

So installieren Sie Python 3.11 auf Ubuntu 20.04

So installieren Sie Python 3.6 unter Ubuntu 16.04, Ubuntu 16.10, 17.04

So installieren Sie Python unter Ubuntu 20.04

So installieren Sie Python unter 3.9 Ubuntu 20.04

So installieren Sie Python unter Ubuntu 22.04