GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal pyxmlsec - Perpustakaan Keamanan Python XML di Ubuntu

Enkripsi XML dan tanda tangan digital digunakan untuk keamanan dokumen XML. Enkripsi XML dan implementasi tanda tangan digital ada untuk bahasa pemrograman yang berbeda. Namun, implementasi enkripsi XML dan tanda tangan digital di C bahasanya sangat komprehensif. Ini mendukung banyak fungsi dan berdasarkan perpustakaan LibXML2. PyXMLSec adalah implementasi Python untuk fitur keamanan XML namun belum mendukung semua fungsi. Versi pustaka saat ini mendukung standar keamanan XML berikut di Python.

a) Tanda Tangan &Enkripsi XML
b) XML kanonik

Prasyarat untuk Pustaka PyXMLsec

Pustaka PyXMLSec memerlukan paket berikut untuk penginstalan.

1) Python 2.2 atau lebih tinggi

2) LibXML

3) Pustaka Keamanan XML

Python sudah diinstal pada distribusi Ubuntu. LibXML dapat diinstal dengan mengetikkan perintah berikut di terminal yang ditunjukkan pada Gambar

$sudo apt-get install python-libxml2

Pustaka keamanan XML dapat diinstal dengan menggunakan perintah berikut di terminal. Pemasangan pustaka XML ditunjukkan dalam cuplikan berikut.

 $sudo apt-get install libxmlsec1-dev

Instalasi library pengembangan C ditunjukkan pada gambar berikut.

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

Implementasi python dari keamanan XML diinstal menggunakan terminal yang diberikan di bawah ini yang juga ditunjukkan pada gambar.

$sudo apt-get install xmlsec1

Setelah instalasi dependensi, unduh versi terbaru PyXMLSec (0.3.1) menggunakan perintah berikut di direktori Unduhan. Gambar berikut menunjukkan proses pengunduhan.

 $cd Downloads

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

Kami harus mengkompilasi PyXMLSec dari paket sumber karena paket deb (paket biner) tidak tersedia. Ekstrak pyxmlsec-0.3.1.tar.gz yang diunduh paket menggunakan perintah berikut di terminal.

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

Masuk ke dalam direktori yang diekstrak menggunakan perintah cd yang ditunjukkan pada gambar.

$cd pyxmlsec0.13.1

Setelah masuk ke dalam direktori root paket, jalankan Sudo setup.py di terminal untuk instalasi PyxmlSec. Proses instalasi PyXMLSec ditunjukkan pada Gambar berikut. Pilih opsi 1 untuk membangun PyXMLsec dari sumber. Pustaka PyXMLsec mendukung mesin kripto OpenSSL, NSS, dan GnuTLS. OpenSSL adalah mesin kripto terkenal yang biasanya dipasang di hampir setiap distribusi linux.

 $sudo ./setup.py

Setelah menyelesaikan langkah build, jalankan kembali perintah yang sama dan pilih opsi 2 untuk instalasi library yang ditunjukkan di bawah ini.

Contoh

Beberapa contoh tersedia di situs web PyXMLsec di bawah bagian dokumentasi. Kami telah memilih contoh tanda tangan XML (sign3.py) dan verifikasi (verify3.py) untuk tujuan demonstrasi. Contoh tanda tangan memerlukan file input (dalam kasus kami document.xml) dalam format XML, kunci, dan sertifikat dalam format PEM. Jadi pertama-tama, pasangan kunci dan sertifikat yang ditandatangani sendiri diperlukan dalam proses penandatanganan. OpenSSL adalah utilitas yang banyak digunakan untuk pasangan kunci RSA dan pembuatan sertifikat. Perintah berikut menghasilkan pasangan kunci RSA dengan ukuran 2048 bit dan menyimpannya di file "key.pem". Ini juga menyimpan sertifikat X509 dalam file cer.pem.

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

Tanda tangan XML

Setelah pembuatan kunci dan sertifikat, langkah selanjutnya adalah menandatangani file input. Contoh tanda tangan XML mengambil argumen dalam format berikut dari pengguna.

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

Dalam kasus kami, file input untuk tanda tangan XML adalah document.xml dan tanda tangan file yang dihasilkan disimpan di output.xml file yang ditunjukkan di bawah ini.

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

Verifikasi XML

Pada langkah ini, contoh verifikasi XML mengambil file output.xml dengan sertifikat untuk verifikasi tanda tangan XML. Contoh verifikasi XML mengambil argumen dalam format berikut dari pengguna.

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

Dalam kasus kami, file input untuk verifikasi XML adalah output.xml dan memverifikasinya seperti yang ditunjukkan di bawah ini.

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

Kesimpulan

Semoga Anda menikmati artikel ini. Sebagai tambahan, PyXMLsec adalah implementasi python dari keamanan XML yang menyediakan enkripsi dan tanda tangan digital untuk dokumen XML. Mendukung mesin Crypto open source seperti OpenSSL, GnuTLS dan NSS untuk algoritma simetris dan asimetris.


Ubuntu
  1. Cara Memasang kerangka kerja pembelajaran mesin TensorFlow di Ubuntu 20.04

  2. Cara Menginstal Python 3.9 di Ubuntu 18.04

  3. Bagaimana Cara Menginstal Python 3.2 Di Ubuntu 13.04?

  1. Cara Menginstal Python 3 di Ubuntu 18.04 atau 20.04

  2. Cara Menginstal Django di Ubuntu 18.04

  3. Cara Menginstal Flask di Ubuntu 18.04

  1. Cara Menginstal Python 3.7 di Ubuntu 18.04

  2. Cara Menginstal TensorFlow di Ubuntu 18.04

  3. Cara Menginstal Python 3.8 di Ubuntu 18.04