Red Hat Training

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

4.7. OpenSSL の使用

OpenSSL は、暗号プロトコルをアプリケーションに提供するライブラリーです。openssl コマンドラインユーティリティーを使用すると、シェルからの暗号化機能の使用が可能になります。これには対話モードが含まれます。
openssl コマンドラインユーティリティーには、システムにインストールされている openssl のバージョンが対応するコマンドに関する情報を提供する擬似コマンドが多数含まれています。pseudo-commands list-standard-commands 、list-message-digest-commands、および list-cipher-commands は、現在の openssl ユーティリティーで利用可能な標準コマンド、メッセージダイジェストコマンド、または cipher コマンドの一覧を出力します。
pseudo-commands list-cipher-algorithms および list-message-digest-algorithms は、すべての cipher および message digest 名を一覧表示します。pseudo-command list-public-key-algorithms は、サポートされるすべての公開鍵アルゴリズムを一覧表示します。たとえば、サポートされている公開鍵アルゴリズムを一覧表示するには、以下のコマンドを実行します。
~]$ openssl list-public-key-algorithms
pseudo-commandno- command-name は、指定した名前のコマンド名を利用できるかどうかをテストします。シェルスクリプトで使用することが意図されています。詳細は、man openssl(1) を参照してください。

4.7.1. 暗号化キーの作成と管理

OpenSSL では、公開鍵は対応する秘密鍵から派生します。そのため、最初のステップはアルゴリズムを決定すると、秘密鍵を生成することです。以下の例では、秘密鍵は privkey.pem と呼ばれます。たとえば、デフォルトパラメーターを使用して RSA 秘密鍵を作成するには、以下のコマンドを実行します。
~]$ openssl genpkey -algorithm RSA -out privkey.pem
RSA アルゴリズムでは、以下のオプションがサポートされます。
  • rsa_keygen_bits:numbits: 生成されたキーのビット数。指定しない場合は、1024 が使用されます。
  • rsa_keygen_pubexp:value - RSA public exponent 値。10 進数値、または 0x で始まる 16 進数の値を指定できます。デフォルト値は 65537 です
たとえば、3 を公開鍵として使用して 2048 ビット RSA 秘密鍵を作成するには、以下のコマンドを実行します。
~]$ openssl genpkey -algorithm RSA -out privkey.pem -pkeyopt rsa_keygen_bits:2048 \ -pkeyopt rsa_keygen_pubexp:3
128 ビット AES とパスフレーズ hello を使用して出力される際に秘密鍵を暗号化するには、以下のコマンドを実行します。
~]$ openssl genpkey -algorithm RSA -out privkey.pem -aes-128-cbc -pass pass:hello
秘密鍵の生成方法は、man genpkey(1) を参照してください。

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