GNU/Linux >> Linux の 問題 >  >> Ubuntu

pyxmlsecをインストールします-Ubuntu上のPythonXMLセキュリティライブラリ

XML暗号化とデジタル署名は、XMLドキュメントのセキュリティに使用されます。 XML暗号化とデジタル署名の実装は、さまざまなプログラミング言語に対応しています。ただし、 CでのXML暗号化とデジタル署名の実装 言語は非常に包括的です。多くの関数をサポートし、LibXML2ライブラリに基づいています。 PyXMLSecはXMLセキュリティ機能のPython実装ですが、まだすべての機能をサポートしているわけではありません。現在のバージョンのライブラリは、Pythonの次のXMLセキュリティ標準をサポートしています。

a)XML署名と暗号化
b)Canonical XML

PyXMLsecライブラリの前提条件

PyXMLSecライブラリには、インストールのために次のパッケージが必要です。

1)Python2.2以降

2)LibXML

3)XMLセキュリティライブラリ

PythonはすでにUbuntuディストリビューションにインストールされています。 LibXMLは、図に示されているターミナルで次のコマンドを入力することでインストールできます

$sudo apt-get install python-libxml2

XMLセキュリティライブラリは、ターミナルで次のコマンドを使用してインストールできます。 XMLライブラリのインストールは次のスナップショットに示されています。

 $sudo apt-get install libxmlsec1-dev

C開発ライブラリのインストールを次の図に示します。

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

XMLセキュリティのPython実装は、以下の端末を使用してインストールされます。これも図に示されています。

$sudo apt-get install xmlsec1

依存関係のインストール後、Downloadsディレクトリで次のコマンドを使用してPyXMLSecの最新バージョン(0.3.1)をダウンロードします。ダウンロードプロセスを示す次の図。

 $cd Downloads

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

debパッケージ(バイナリパッケージ)が利用できないため、ソースパッケージからPyXMLSecをコンパイルする必要があります。ダウンロードしたpyxmlsec-0.3.1.tar.gzを抽出します ターミナルで次のコマンドを使用してパッケージ化します。

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

図に示すcdコマンドを使用して、抽出したディレクトリ内に移動します。

$cd pyxmlsec0.13.1

パッケージのルートディレクトリに入ったら、sudo setup.pyを実行します。 PyxmlSecをインストールするためのターミナルで。 PyXMLSecのインストールプロセスを次の図に示します。ソースからPyXMLsecを構築するには、オプション1を選択します。 PyXMLsecライブラリは、OpenSSL、NSS、およびGnuTLS暗号エンジンをサポートします。 OpenSSLはよく知られた暗号エンジンであり、通常、ほとんどすべてのLinuxディストリビューションにインストールされています。

 $sudo ./setup.py

ビルドステップの完了後、同じコマンドを再度実行し、以下に示すライブラリのインストール用のオプション2を選択します。

PyXMLsecWebサイトのドキュメントセクションにある例はほとんどありません。デモンストレーションの目的で、XML署名(sign3.py)と検証(verify3.py)の例を選択しました。署名の例では、XML形式の入力ファイル(この場合はdocument.xml)、PEM形式のキーと証明書が必要です。したがって、まず、署名プロセスで必要なキーペアと自己署名証明書。 OpenSSLは、RSAキーペアと証明書の生成に広く使用されているユーティリティです。次のコマンドは、2048ビットサイズのRSAキーペアを生成し、「key.pem」ファイルに保存します。また、X509証明書をcer.pemファイルに保存します。

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

XML署名

キーと証明書の生成後、次のステップは入力ファイルに署名することです。 XML署名の例では、ユーザーから次の形式の引数を取ります。

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

この場合、XML署名の入力ファイルは document.xmlです。 output.xmlに保存された結果のファイル署名 以下に示すファイル。

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

XML検証

このステップでは、XML検証の例で、XML署名の検証用の証明書を含むoutput.xmlファイルを取得します。 XML検証の例では、ユーザーから次の形式の引数を取ります。

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

この場合、XML検証の入力ファイルは output.xmlです。 以下に示すことを確認します。

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

結論

この記事を楽しんでいただけたでしょうか。さらに、PyXMLsecは、XMLドキュメントの暗号化とデジタル署名を提供するXMLセキュリティのPython実装です。対称および非対称アルゴリズム用のOpenSSL、GnuTLS、NSSなどのオープンソースの暗号エンジンをサポートしています。


Ubuntu
  1. Ubuntu20.04にTensorFlow機械学習フレームワークをインストールする方法

  2. Ubuntu18.04にPython3.9をインストールする方法

  3. Ubuntu13.04にPython3.2をインストールするにはどうすればいいですか?

  1. Ubuntu18.04または20.04にPython3をインストールする方法

  2. Ubuntu18.04にDjangoをインストールする方法

  3. Ubuntu18.04にFlaskをインストールする方法

  1. Ubuntu18.04にPython3.7をインストールする方法

  2. Ubuntu18.04にTensorFlowをインストールする方法

  3. Ubuntu18.04にPython3.8をインストールする方法