はじめに
前回の「Ruby の openssl ライブラリを使って、サーバ証明書やクライアント証明書を作成する」で Ruby をつかってサーバ証明書やクライアント証明書を作成する方法を書きましたが、実際には「SSL サーバ証明書を作成するために OpenSSL を使う」という人が大半だと思いますし、Ruby を使ったことがない人も多いと思います。
今回は、Ruby がわからなくても「簡単にサーバ証明書を作成する方法」をつくってみました。(ただし、Ruby はインストールしておく必要があります)
準備するもの
- Ruby
- Git (必須ではない)
リポジトリを clone する
$ git clone https://github.com/k-masaki/certification-publisher.git
$ cd certification-publisher
Git をインストールしていない場合は、こちらからダウンロードしてください。ダウンロード、解凍をしたら、解凍したフォルダにコンソールで移動してください。
プライベート CA を準備する
config.yml
を編集することで、証明書の値を変更することができます。 (任意)
C: JP
ST: Tokyo
DC: Minato-ku
O: Example, Inc.
CN: Example CA
以下のコマンドを実行して、CA を構築する
$ ruby prepare.rb
実行が完了すると、ca
フォルダ配下に ca_private_key.pem
(CA の秘密鍵) と ca.pem
(CA の証明書) が作成されています。
サーバ証明書を作成する
例えば、example.com
用の SSL サーバ証明書を作成する場合は、以下のようなコマンドを実行します
$ ruby publish.rb example.com
実行が完了すると、example.com
フォルダ配下に example.com.key
(サーバの秘密鍵) と example.com.crt
(サーバ証明書) が作成されています。
あとはそれらを Web サーバに送ってよしなにやってください。
ca/ca.pem
をクライアント PC (ブラウザ) 側で信頼すると、Web サーバにアクセスしたときに警告画面も出ないので快適です。
これで、ワンコマンドで SSL 証明書が作成できるようになりました!