• SSL証明書の発行依頼を行う際、発行業者さんにCSR(Certificate Signing Request)を提示する必要があります。
  • SSL証明書の更新は年に1度とか、数年に1度実施する作業なので、どういう手順で生成するのか覚えていません。
  • たいてい、WEBページでCSRの作成手順を案内していますが、呪文のようなコマンドがいくつか並んでいてしかも対話形式なのでちょっと煩わしい。
  • だからシェルスクリプトにしました。
  • OpenSSL用です。

スクリプト

  • 第1引数にFQDN(コモンネームと生成するファイル名に使用します)
  • 第2引数にパスフレーズ
if [ $# -ne 2 ]; then
  echo "usage: $0 <fqdn> <passphrase>"
  exit 1;
fi

CN=$1
PP=$2
# 対話式で入力するdistinguished nameを一度に指定。コモンネームは第1引数
SJ="/C=JP/ST=Tokyo/L=Minato-ku/O=DONDARI inc./OU=dondari labo/CN=$CN"

# 秘密鍵を作成
openssl genrsa -des3 -passout pass:$PP -out $CN.key 2048
# パスフレーズなしの秘密鍵にする
openssl rsa -passin pass:$PP -in $CN.key -out $CN.key
# CSR出力
openssl req -new -key $CN.key -out $CN.csr -subj "$SJ"
# 確認のためにCSR内容を表示
openssl req -noout -text -in $CN.csr

facebook slideshare rubygems github qiita