9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SSL証明書発行ではcfsslを使おう(opensslめんどくさい)

Posted at

SSL証明書

自社や顧客の公開系サーバのインフラ周りを担当すると、SSL 証明書購入がたまに発生して、openssl でどうするんだっけ?みたいによくなります?なりません?
同じことを思ってる人が多いのかわからないですけど、cloudflare に提供していただいている cfssl コマンドで簡単にCSR、秘密鍵を作成できます。

cfssl の使い方

cfssl のインストール方法

cfssl のインストール方法は次のサイトをご参照ください。

CSR 情報 JSON ファイルの作成

openssl などで CSR ファイルを作成するときに入力する情報を、JSON ファイルとして作成します。JSONファイルを管理しておけばいいのは嬉しいです。(opensslは interactive なので・・・ファイルで持てたかもよく知らない。)

csr-info.json
{
     "CN":"example.jp"
     "key": {
       "algo": "rsa",
       "size": 2048
            },
   "names": [
     {
      "C": "JP",
      "L": "Bunkyo",
      "O": "company,Inc",
      "OU": "",
      "ST": "Tokyo"
     }
   ]
}

CSR(Certificate Signing Request)ファイルと秘密鍵の作成

cfssl genkey コマンドを使うと、CSR ファイルと秘密鍵が JSON で出力されます。
CSR ファイルとは、訳したまんま証明書の署名要求ファイルです。
cfssl genkey csr-info.json

この JSON を CSR ファイルと秘密鍵 pem ファイルとして出力するには、cfssljson コマンドを使います。
cfssljson -bare <ファイルのプレフィックス> <CSR・秘密鍵情報の JSON>

よく見るのは次のようにパイプして実行する方法です。
cfssl genkey <json> | cfssljson -bare <ファイルのプレフィックス> <json>

実際に実行すると次のようになります。
qiita_2020-02-16_01.png

ちなみに、example.csr の中はこんな感じです。
qiita_2020-02-16_02.png

秘密鍵も作成されますので、作成するフォルダの権限設定は気をつけてください。

SSL証明書発行

SSL証明書購入

例えば、GMO グローバルサインSSL ストアValueSSLなどで、SSL証明書を購入する場合、作成したCSRファイルを使って申請します。購入方法は購入するサイトをご確認ください。

証明書が発行されましたら、WEBサーバに設定してください。(方法はサービスによるため省略)

終わりに

結構端折って簡単に書きました。
私は SSL 証明書購入では、あまり混乱しなくなりそうです。(基本は GCP の無料の証明書を使いますけど・・・)
オレオレ証明書も作成できますが、非推奨のため記載はやめました。

おまけ

SSL サーバ証明書と認証局の選び方

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?