1と2のリビジョン間の差分
2017-12-05 23:04:08時点のリビジョン1
サイズ: 2373
コメント:
2017-12-05 23:05:40時点のリビジョン2
サイズ: 2394
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
 * 通常、CSR作成する程度であれば、秘密鍵をわざわざ分けて作る必要は無いと考えてるけど、それでも分けて実行したい場合に使用する。
 * 頼むから {{{openssl genrsa}}} コマンド使うのめよう:-)。
 * 通常、CSR作成する程度であれば、秘密鍵をわざわざ分けて作る必要は無いと考えてるけど、それでも分けて実行したい場合に使用する。
 * 頼むから {{{openssl genrsa}}} コマンド使うのめよう:-)。
行 46: 行 46:
 * [[https://wiki.openssl.org/index.php/Manual:Genpkey(1)|]]  * [[https://wiki.openssl.org/index.php/Manual:Genpkey(1)|openssl genpkey(1)]]

openssl genpkey

  • 各種公開鍵暗号アルゴリズム(RSA、ECDSA等)の秘密鍵を生成するためのコマンド。
  • 通常、CSR作成する程度であれば、秘密鍵をわざわざ分けて作る必要は無い、と考えてるけど、それでも分けて実行したい場合に使用する。
  • 頼むから openssl genrsa コマンド使うの止めよう:-)。

RSA公開鍵暗号の秘密鍵の作り方

openssl genpkey -algorithm RSA -out 秘密鍵ファイル名.pem -pkeyopt rsa_keygen_bits:ビット数
chmod 0400 秘密鍵ファイル名.pem

-pkeyout rsa_keygen_bits: を指定しない場合、通常(今時?)2048ビットと解釈される。 指定可能なビット数は256から1073741696(0x3fffff80)まで可能(openssl のバージョンによる)。

なおマニュアル読むと -pkeyopt rsa_keygen_pubexp:3 と「公開冪乗数」に「3」を指定しているが、 実用的にはデフォルトの65537で十分だし、他を指定する意味は無い(処理速度的にも)。

ECDSA公開鍵暗号の秘密鍵の作り方

openssl genpkey -algorithm EC -out 秘密鍵ファイル名.pem -pkeyopt ec_paramgen_curve:ECパラメータ -pkeyopt ec_param_enc:named_curve
chmod 0400 秘密鍵ファイル名.pem

または

openssl genpkey -paramfile <(openssl ecparam -name ECパラメータ) -out 秘密鍵ファイル名.pem
chmod 0400 秘密鍵ファイル名.pem

<(command)というイディオム(実行結果をテンポラリファイル名で渡してくれる)は zsh/bash 拡張なので、シェルスクリプト(sh/ash/ksh)中では使わないこと。

ECパラメータはいわゆる「prime256v1」「secp384r1」「secp521r1」と言った 「楕円曲線」を示す。具体的には下記コマンドを実行することで、使用できる「楕円曲線」を選べる。

openssl ecparam -list_curves

ただし、他の環境でも使えるかどうかは別の話なので、先に示したメジャーな「楕円曲線」を推奨する。

参考文献

OpenSSL/genpkey (最終更新日時 2021-10-11 02:47:51 更新者 NorikatsuShigemura)