GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa pyxmlsec - Python XML Security Library su Ubuntu

La crittografia XML e la firma digitale vengono utilizzate per la sicurezza dei documenti XML. La crittografia XML e l'implementazione della firma digitale esistono per diversi linguaggi di programmazione. Tuttavia, implementazione della crittografia XML e della firma digitale in C il linguaggio è molto completo. Supporta molte funzioni e si basa sulla libreria LibXML2. PyXMLSec è l'implementazione Python per le funzionalità di sicurezza XML, tuttavia non supporta ancora tutte le funzioni. La versione corrente della libreria supporta i seguenti standard di sicurezza XML in Python.

a) Firma e crittografia XML
b) XML canonico

Prerequisito per la libreria PyXMLsec

La libreria PyXMLSec richiede i seguenti pacchetti per l'installazione.

1) Python 2.2 o versioni successive

2) LibXML

3) Libreria di sicurezza XML

Python è già installato sulla distribuzione Ubuntu. LibXML può essere installato digitando il seguente comando nel terminale mostrato in Figura

$sudo apt-get install python-libxml2

La libreria di sicurezza XML può essere installata utilizzando il seguente comando nel terminale. L'installazione della libreria XML è mostrata nella seguente istantanea.

 $sudo apt-get install libxmlsec1-dev

L'installazione della libreria di sviluppo C è mostrata nella figura seguente.

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

L'implementazione Python della sicurezza XML viene installata utilizzando il terminale indicato di seguito, mostrato anche in figura.

$sudo apt-get install xmlsec1

Dopo l'installazione delle dipendenze, scaricare la versione recente di PyXMLSec (0.3.1) utilizzando il seguente comando nella directory Download. La figura seguente mostra il processo di download.

 $cd Downloads

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

Dobbiamo compilare PyXMLSec dal pacchetto sorgente perché i pacchetti deb (pacchetto binario) non sono disponibili. Estrai il pyxmlsec-0.3.1.tar.gz scaricato pacchetto utilizzando il seguente comando nel terminale.

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

Entra nella directory estratta usando il comando cd mostrato in figura.

$cd pyxmlsec0.13.1

Una volta entrato nella directory principale del pacchetto, esegui sudo setup.py nel terminale per l'installazione di PyxmlSec. Il processo di installazione di PyXMLSec è mostrato nella figura seguente. Selezionare l'opzione 1 per la creazione di PyXMLsec dal sorgente. La libreria PyXMLsec supporta i motori crittografici OpenSSL, NSS e GnuTLS. OpenSSL è un noto motore crittografico che è normalmente installato in quasi tutte le distribuzioni Linux.

 $sudo ./setup.py

Dopo il completamento del passaggio di compilazione, eseguire nuovamente lo stesso comando e selezionare l'opzione 2 per l'installazione della libreria mostrata di seguito.

Esempio

Alcuni esempi sono disponibili sul sito Web PyXMLsec nella sezione documentazione. Abbiamo selezionato esempi di firma XML (sign3.py) e di verifica (verify3.py) a scopo dimostrativo. Esempio di firma richiede il file di input (nel nostro caso document.xml) in formato XML, chiavi e certificati in formato PEM. Quindi, prima di tutto, nel processo di firma sono richiesti coppia di chiavi e certificato autofirmato. OpenSSL è un'utilità ampiamente utilizzata per la generazione di coppie di chiavi RSA e certificati. Il comando seguente genera una coppia di chiavi RSA di 2048 bit e le memorizza nel file "key.pem". Memorizza anche il certificato X509 nel file cer.pem.

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

Firma XML

Dopo la generazione delle chiavi e del certificato, il passaggio successivo è la firma del file di input. L'esempio di firma XML accetta gli argomenti nel seguente formato dall'utente.

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

Nel nostro caso, il file di input per la firma XML è document.xml e la firma del file risultante archiviata in output.xml file che viene mostrato di seguito.

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

Verifica XML

In questo passaggio, l'esempio di verifica XML prende il file output.xml con i certificati per la verifica delle firme XML. L'esempio di verifica XML accetta gli argomenti nel seguente formato dall'utente.

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

Nel nostro caso, il file di input per la verifica XML è output.xml e lo verifica come mostrato di seguito.

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

Conclusione

Spero che questo articolo ti sia piaciuto. Per aggiungere , PyXMLsec è un'implementazione Python della sicurezza XML che fornisce crittografia e firma digitale per i documenti XML. Supporta motori Crypto open source come OpenSSL, GnuTLS e NSS per algoritmi simmetrici e asimmetrici.


Ubuntu
  1. Come installare Python 3 su Ubuntu 18.04 o 20.04

  2. Come installare Django su Ubuntu 18.04

  3. Come installare il framework di apprendimento automatico TensorFlow su Ubuntu 20.04

  4. Come installare Python 3.9 su Ubuntu 18.04

  5. Come installare Python 3.2 in Ubuntu 13.04?

Installa Python 3.9 su Ubuntu 20.04 LTS

Come installare Python 3.11 su Ubuntu 20.04

Come installare Python 3.6 su Ubuntu 16.04, Ubuntu 16.10, 17.04

Come installare Python su Ubuntu 20.04

Come installare Python su 3.9 Ubuntu 20.04

Come installare Python su Ubuntu 22.04