のぴぴのメモ

自分用のLinuxとかの技術メモ

オレオレ証明書をワンライナーで作る方法

自己署名証明書(オレオレ証明書)を作る時、コマンドを3回叩いたり、コマンド実行したら対話的に入力したりで簡単にバッチ化できないかなぁ〜と調べたメモです。
ほぼ、こちらの内容の抜粋です。
blog.hifumi.info

手順

(1)自己署名証明書

export URLNAME=hoge.com
openssl req -x509 -days 36500 -newkey rsa:2048 -nodes -out ${URLNAME}.crt -keyout ${URLNAME}.key -subj "/C=JP/ST=Tokyo/L=null/O=null/OU=null/CN=${URLNAME}/"

(2)作成した自己署名証明書の確認

openssl x509 -text -noout -in ${URLNAME}.crt

openssl reqのオプション

  • -x509 : 証明書要求の代わりに自己署名証明書を出力する
  • -days 日数:証明書の有効期間の日数(デフォルトは30日)
  • -newkey rsa:2048 : 新しい証明書署名要求と秘密鍵を作成する。形式は"rsa:2048"。
  • -nodes : 秘密鍵作成時にパスフレーズを要求しない(暗号化しない)
  • -out ${URLNAME}.crt :標準出力の出力先ファイルの指定(上記手順では、自己署名証明書が出力される)
  • -keyout ${URLNAME}.key :秘密鍵の出力先
  • -subj "/C=JP/ST=Tokyo/L=null/O=null/OU=null/CN=${URLNAME}/": 証明書作成時に対話で聞かれる内容を指定する
    • C=国(JPとか)*1
    • ST=州/都道府県
    • L=住所
    • O=組織
    • OU=組織部
    • CN=FQDNや個人名
    • 補足:C、ST、Lなどの略語は、”openssl x509 -text -noout -in ${URLNAME}.crt”で参照した時の"Issuer:"の略称と一致します。

openssl x509のオプション

  • text:テキスト表示
  • -noout:符号化されたデータ(自己署名証明書ファイルそのもの)は表示しない
  • -in ${URLNAME}.crt:入力ファイルの指定(ここでは自己署名証明書を指定)

*1:指定できるCountory codesはこちら