Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.7.4. ファイルの暗号化および復号化

OpenSSL で(および復号) ファイルを暗号化する場合は、pkeyutl コマンドまたはenc built-in コマンドを使用できます。pkeyutl では、RSA キーは暗号化および復号化を実行するために使用されますが、ienc、対称アルゴリズムが使用されます

RSA 鍵の使用

plain というファイルを暗号化するには、以下のコマンドを実行します。
~]$ openssl pkeyutl -in plaintext -out cyphertext -inkey privkey.pem
キーおよび証明書のデフォルト形式は PEM です。必要な場合は、-keyform DER オプションを使用して DER 鍵形式を指定します。
暗号化エンジンを指定するには、以下のように -engine オプションを使用します。
~]$ openssl pkeyutl -in plaintext -out cyphertext -inkey privkey.pem -engine id
id は、暗号化エンジンの ID に置き換えます。エンジンの可用性を確認するには、以下のコマンドを実行します。
~]$ openssl engine -t
plain と呼ばれるデータファイルを署名するには、以下のコマンドを実行します
~]$ openssl pkeyutl -sign -in plaintext -out sigtext -inkey privkey.pem
署名付きデータファイルを検証し、データを抽出するには、以下のコマンドを実行します。
~]$ openssl pkeyutl -verifyrecover -in sig -inkey key.pem
DSA キーなどを使用して署名を検証するには、以下のようにコマンドを発行します。
~]$ openssl pkeyutl -verify -in file -sigfile sig -inkey key.pem
pkeyutl(1) の man ページでは、公開鍵アルゴリズムユーティリティーが説明されています。

対称アルゴリズムの使用

利用可能な対称暗号化アルゴリズムを一覧表示するには、-l などの対応していないオプションを指定して、enc コマンドを実行します
~]$ openssl enc -l
アルゴリズムを指定するには、その名前をオプションとして使用します。たとえば、aes-128-cbc アルゴリズムを使用するには、以下の構文を使用します。
openssl enc -aes-128-cbc
a es-128-cbc アルゴリズムを使用してプレーンテキストでファイルを暗号化するには、以下のコマンドを入力します。
~]$ openssl enc -aes-128-cbc -in plaintext -out plaintext.aes-128-cbc
直前の例で取得したファイルを復号するには、以下の例のように -d オプションを使用します。
~]$ openssl enc -aes-128-cbc -d -in plaintext.aes-128-cbc -out plaintext
重要
enc コマンドは AEAD 暗号を適切にサポートせず、ecb モードはセキュアであると見なされません。最善の結果を得るには、cbc、cfb、ofb、または ctr 以外のモードを使用しないでください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。