ましめも

技術系メモ

MacでGUIを使って簡単にSANs対応のオレオレ証明書(マルチドメイン証明書)を発行する

以下の記事の続き。 mashi.hatenablog.com

オレオレ認証局を使って、オレオレ証明書を発行する。

CSRを使って証明書を作成する場合

本物の証明書を作る手順同様、CSRを作成してからオレオレ認証局で証明書を作成するパターン。CSRを作成する方法は世の中に溢れてるので適当にググってほしい。

1) キーチェーンを開きメニューからアシスタントを開く

f:id:mashijp:20190414212254p:plain

CSRをドラッグドロップする画面が出てくるのでCSRを入れる。

2) 発行認証局

f:id:mashijp:20190414212745p:plain

この要求に対するデフォルトを無効化にチェックを入れる

3) 証明書情報

f:id:mashijp:20190414212846p:plain

4) 【重要】 証明書情報(2)

f:id:mashijp:20190414172438p:plain

  • 【重要】名前(通称) は Common Name (CN) に相当する。配信したいFQDNを入力する
    • SANs領域はあとで設定できるので、複数のFQDNで配信したい場合、メインとなるFQDNを設定しておく
    • 近代のブラウザだとCNは無視されるものもあるらしい (SANs 領域しかみない)

5) 鍵用途拡張領域 【スキップ可能】

f:id:mashijp:20190414172838p:plain そのまま

6) 拡張鍵用途拡張領域

f:id:mashijp:20190414172912p:plain

ごくまれに、ここの項目が異なっているとSSL証明書として使えない(選択できない)ロードバランサ等が存在するため注意。

  • SSLクライアント認証、SSLサーバ認証 にチェックを入れる

7) 基本成約拡張領域 【スキップ可能】

f:id:mashijp:20190414173002p:plain

  • 基本制約拡張領域を含める にチェックを入れる

8) 【重要】サブジェクト代替名拡張領域

f:id:mashijp:20190414173106p:plain

  • dNSName に配信したいFQDNを半角スペース区切りですべて登録する
    • Common Nameも含めてすべて指定する
    • 近代のブラウザの中には Common Name を無視しこの SANs 領域しかみないものもあるらしい

9) 作成完了!

f:id:mashijp:20190414173654p:plain SANs がそれっぽくなっていることを確認

10) 証明書のエクスポート

発行した証明書を右クリックし、エクスポートする。

秘密鍵と証明書を同時に作成する場合

1) キーチェーンを開きメニューからアシスタントを開く

f:id:mashijp:20190414172148p:plain

2) 証明書を作成

f:id:mashijp:20190414172239p:plain

  • 固有名のタイプ を リーフに
  • 証明書のタイプ を SSLサーバに
  • 「デフォルトを無効化」 にチェックを入れる

3) 証明書情報(1)

f:id:mashijp:20190414172358p:plain 好きに設定

4) 【重要】 証明書情報(2)

f:id:mashijp:20190414172438p:plain

  • 【重要】名前(通称) は Common Name (CN) に相当する。配信したいFQDNを入力する
    • SANs領域はあとで設定できるので、複数のFQDNで配信したい場合、メインとなるFQDNを設定しておく
    • 近代のブラウザだとCNは無視されるものもあるらしい (SANs 領域しかみない)

5) 発行者を選択

f:id:mashijp:20190414172729p:plain 先ほど発行したルート証明書を選択する

(中略)

このへんは上のCSRを元にするやつと同じ

11) 証明書の場所を指定【スキップ可能】

f:id:mashijp:20190414173605p:plain

12) 作成完了!

f:id:mashijp:20190414173654p:plain SANs がそれっぽくなっていることを確認

13) エクスポート

証明書の出力

f:id:mashijp:20190414173940p:plain f:id:mashijp:20190414174006p:plain

秘密鍵の出力

f:id:mashijp:20190414174215p:plain

パスワード保護されたPKCS12形式でしか出力できない模様。PEM形式等にしたい場合は自分でopensslコマンド等を使って変換する必要がある。