SSL証明書を簡単かつ
安全に生成するためのツール。

使い方

インストール方法

# Homebrew でインストール。
brew tap mknclab/csrgen
brew install csrgen

初期設定と生成以外の機能

例) csrgen --init
# www.example.com-cert.conf はホームディレクトリ内に作られる '~/.certinfo/' に生成されます。
# confファイルの ="" 内だけを編集して下さい。
# 初期設定ファイルの生成には以下のオプションとドメイン名を入力して下さい。
例) csrgen --add FQDN [ vim | emacs | nano ]
# 初期設定の内容を編集する場合。
例) csrgen --edit FQDN [ vim | emacs | nano ]
# 初期設定ファイルの削除。
例) csrgen --delete FQDN
# 初期設定ファイルの内容確認。
例) csrgen --view FQDN
# '~/.certinfo/' の一覧表示。
例) csrgen --list
# TARファイルでバックアップ。
例) csrgen --backup FQDN
# 直近でバックアップしたTARファイルを削除する。
例) csrgen --remove FQDN
# 公開鍵の内容を表示。 [ --csr: CSR | --cer: 結合された証明書ファイル | --org: 結合前の証明書ファイル | --ca: 結合前の中間証明書ファイル ]
例) csrgen --preview FQDN [ --csr | --cer | --org | --ca ]
# 証明書・公開鍵・秘密鍵のファイル名を一括変更。
例) csrgen --rename FQDN New-FileName
# マニュアル。
例) man csrgen

公開鍵の生成方法

例) csrgen -c FQDN -p SaveFolder -s O -y
必須オプション :
-c, --common  : FQDN         [ ドメイン名 (サブドメインは必須ではありません) ]
-p, --prefix  : SaveFolder   [ 重複上書きを避けるためのフォルダ名指定。 ]
-s, --ssl     : O or L       [ OpenSSL or LibreSSL ]
-y or -N      : yes or No    [ 設定内容の項目確認。 ]

結合オプション

例) csrgen -b FQDN ~/use-cert.crt ~/ca.crt -y
必須オプション :
-b,--bind     :  SSL証明書と中間証明書を組み合わせるオプション。
引数 :
FQDN          :  ドメイン名 ( 例: www.example.com )
use-cert.crt  :  公開鍵で取得したSSL証明書。
Int-or-ca.crt :  中間証明書のファイル。
-y or -N      :  確認項目を表示/非表示するオプションです。

公開鍵と秘密鍵・証明書生成先のフォルダ構造

# origin フォルダは bind オプションを使った時のみ生成されます。
~/.certinfo
├── www.example.com-cert.conf : 元となる初期設定ファイル
└── FQDN-cert.conf : 生成された初期設定ファイル
~/.pathlogs
└── FQDN_bind.log : FQDN_bind.txt までのファイルパスを記録
SaveFolder
├── .crtbind
│      └── FQDN_bind.txt : 結合用のフルパスを記録
├── .ver
│      └── FQDN_next.log : バージョン管理
└── FQDN
       ├── FQDN.v1.201x.tar.gz : バックアップファイル
       └── version(v1)
             ├── .csrname : リネーム用のファイル名を記録
             ├── secure_aes.crt
             ├── secure_aes.csr
             ├── secure_aes.pem
             └── origin
                   ├── secure_aes_ca.crt
                   └── secure_aes_org.crt

基本仕様

  1. 利用前に初期設定が必要です。
  2. ‘cert.conf’ で設定されたドメインとオプションの引数が作成時に一致する場合にのみ、公開鍵と秘密鍵を生成します。
  3. 「一時的な秘密鍵」と「パスフレーズ」は、作成直後に削除されます。
  4. ‘rand.dat’のハッシュ値は65536半角英数字乱数です。※OpenSSLのみ

cert.conf を生成するWebサービス : https://www.mknclab.com/csrconf/
※データはブラウザのローカルストレージに保存されるため、コピー&ペーストは必須です。

更新履歴

ライセンス

MIT lincense
%d人のブロガーが「いいね」をつけました。