背景

サーバ証明書を作成する際、秘密鍵にパスフレーズを設定しました。

この証明書は単体のサーバに設定しており、apacheを再起動するたびにパスフレーズを聞かれるのが面倒でした。

そこで、秘密鍵に設定したパスフレーズを取り除くことにしました。

手順

実行しているのは、Ubuntu22.04です。

またコマンドでは以下のようにします。

  • パスフレーズ付きの秘密鍵: pass.key
  • パスフレーズ無しの秘密鍵: no_pass.key

以下のコマンドです。

    sudo openssl rsa -in pass.key -out no_pass.key

上記のコマンドで、以下のようにパスフレーズを聞かれます。設定しているパスフレーズを入力します。

    Enter pass phrase for server.key:

なお、コマンドで使用しているオプション-inは入力するファイルを指定しており、-outは出力するファイルを指定しています。

参考

以下はopensslのrsaに関連するヘルプです。オプションは以下を参照しました。

Usage: rsa [options]

General options:
-help               Display this summary
-check              Verify key consistency
-*                  Any supported cipher
-engine val         Use engine, possibly a hardware device

Input options:
-in val             Input file
-inform format      Input format (DER/PEM/P12/ENGINE
-pubin              Expect a public key in input file
-RSAPublicKey_in    Input is an RSAPublicKey
-passin val         Input file pass phrase source

Output options:
-out outfile        Output file
-outform format     Output format, one of DER PEM PVK
-pubout             Output a public key
-RSAPublicKey_out   Output is an RSAPublicKey
-passout val        Output file pass phrase source
-noout              Don't print key out
-text               Print the key in text
-modulus            Print the RSA key modulus
-traditional        Use traditional format for private keys

PVK options:
-pvk-strong         Enable 'Strong' PVK encoding level (default)
-pvk-weak           Enable 'Weak' PVK encoding level
-pvk-none           Don't enforce PVK encoding

Provider options:
-provider-path val  Provider load path (must be before 'provider' argument if required)
-provider val       Provider to load (can be specified multiple times)
-propquery val      Property query used when fetching algorithms