仕事柄、SSL証明書を取得するのに、CSRと秘密鍵の生成というのが必要になる。CSRや秘密鍵というのは、わたしが見てもなんのこっちゃわからない文字の羅列で、今まで、SSL証明書管理サービスの、CSR・秘密鍵発行ツールとやらを使って、そのなんのこっちゃわからない文字の羅列を作っていた。
さて、わたしの使っているSSL証明書管理サービスがリニューアルした。
見た目だけかと思いきや、CSRと秘密鍵生成ツールによってCSRと秘密鍵を作ろうとしたところ、なんと、CSR・秘密鍵コマンドというものが発行された。
コマンドってなんじゃい。
上記コマンドは、OpenSSLが利用可能な環境で実行できます。一般的にはサーバー上で実行しますが、OpenSSLをローカルコンピュータ上にインストールした場合は、そのコンピュータでも実行できます。
CSRを作成した後は、必ず秘密鍵ファイルを追跡してください。証明書をインストールするにはその秘密鍵が必要です。
このコマンドを実行するとどうなりますか?
秘密鍵と証明書署名要求の両方を作成し、それぞれファイルに保存します。CSRは証明書お申込み時に。秘密鍵は証明書インストール時に必要な情報です。
と、CSRと秘密鍵生成ツールは説明されているんですが、コマンドの実行ってどうやるんじゃい。
とりあえず、手元にある環境の中で、コマンドといえばターミナル。
入力してエンターキーを押してみたらエラーになった。
(エラーになった、と思う。
このあといろいろ試してうまくいったのだけれど、その途中でもまだエラーに見えて、何度もやり直したので、もしかして最初からできていたのかもしれないと、今となっては思っている。)
いろいろ調べたところ、
・コマンドを実行とは、ターミナルに入力で良さそう。
・とりあえずmacにあるopenSSLを使って、コマンドを実行したらなんとかなりそう。
・だけど、macに最初からインストールされているopenSSLは実はopenSSLじゃないっぽい。
・だからちゃんとしたopenSSLをインストールしたほうがよいっぽい。
・openSSLのインストールには、Homebrewを使うのが簡単そう。
・Homebrewはよくわからなくて避けてきた。でもインストールしてみようかな。
ということになりました。
さて! 手順です。
まずは、現状確認。
$ openssl version
常識的な事かもしれないけど、先頭の「$ 」まではターミナルが書いてくれてて、入力を促してくれている状態なので、実際は、「openssl version」だけかけばいい。
LibreSSL 2.6.5
たしかにOpenSSLじゃない。
まずは、Homebrewのインストール。公式ページを見に行きます。
以下のようなインストール用のスクリプトがあるので、コピペでターミナルで実行。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
するとインストールされている様子のテキストが流れます。理解不能。待ちます。
Installation successful!
というのが見えたので、どうやら終わったようです。
$ brew doctor
と書けと、参考にしていたサイトで指示されたので、書いてみる。
書くと問題点を教えてくれるらしい。
Your system is ready to brew.
問題点なさげ。
念の為の現在のバージョン確認、アップデートがあるか確認。
$ brew --version
$ brew update
OK。最新だそうです。
OpenSSLをインストールします。
$ brew install openssl
またインストールしているらしきテキストが流れて、しばし待ち。
インストールが終わったら、どうやら、OpenSSLを使おうとするとLibreSSLが優先されるらしいので、インストールしたほうを優先にしたい。
ヒントは流れたテキストにあります。
If you need to have openssl first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
ですって。
echoの一行をターミナルに貼り付けて実行。
そしてターミナルは一旦終了。再起動してください。
$ openssl version
とすると、
OpenSSL 1.0.2r 26 Feb 2019
となります。ぱちぱち。
で、私の場合、CSRと秘密鍵の生成コマンドをゲットしているので、それをターミナルにはりつけてみる。
ユーザディレクトリに.keyと.csrってファイルができてました。
隠しファイルでわかりづらかったので、生成コマンドに適当に20190609.csrのようにして検索して見つけました。普通に直下にありました。
参考になれば嬉しいです。
▲