CIS(IBM Cloud Internet Service)の証明書（Edge用途）

# 1. はじめに
CISの証明書の種類は色々あって若干混乱するため、整理するのが目的です。
本記事はEdge用途の証明書について紹介します。
Origin用途の証明書については、[こちら](https://qiita.com/testnin2/items/71ea1fb47ed8aa80eca9)を参照してください。

また、以下の説明を読む前に、[イマドキの証明書は全部マルチドメイン証明書](https://qiita.com/testnin2/items/0fb2211dffae2ffaec7a)を読んでおくと、理解が深まると思います。

# 2. Edge用証明書の種類とその作り方

```txt:通信の流れ
ブラウザ -> Edge(Reverse Proxy: CISの実体) -> Origin(Web Server)
```

ブラウザとEdge間の通信を暗号化するためには、Edgeに証明書が必要になります。[Plan比較の資料](https://cloud.ibm.com/docs/cis?topic=cis-cis-plan-comparison)によると、Edge用に利用できる証明書には、以下の4種類があります。

-  Universal wildcard（単にUniversalと記載されることもあり）
-  Dedicated wildcard（単にDedicatedと記載されることもあり）
-  Dedicated custom
-  Uploaded custom

なお、複数証明書が存在する際の優先度は、Uploaded custom, Dedicated custom, Dedicated wildcard, Universal wildcardの順になります。
https://cloud.ibm.com/docs/cis?topic=cis-manage-your-ibm-cis-for-optimal-security#certificate-prioirity-at-our-edge

以下は、CISで管理登録したドメイン名が`certest.tk`であるという前提で記載します。下記の表からわかるように、組織(O)情報や組織単位(OU)情報などを自社のものに合わせてカスタマイズした証明書を作成したい場合は、ちゃんと証明書を購入して`Upload custom`を利用する必要がありそうです。

||Universal wildcard |Dedicated wildcard|Dedicated custom|Upload custom|
|:--|:--|:--|:--|:--|
|作成方法|デフォルトで作成される。削除はできない。しかし、Security -> AdvancedからUiversal wildcardを利用できないようにする（無効にする）ことは可能。<br> <img width="429" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/9bb49a80-0b3e-71d3-c371-3ec972d4cbbe.png">|Customer PortalのSecurity -> TLSから注文可能("Add up to 50 custom hostnames"を選択しない）。<br><img width="616" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/a601551a-eee9-bb2b-e698-b968e67faa24.png">|Customer PortalのSecurity -> TLSから注文可能("Add up to 50 custom hostnames"を選択する）。<br><img width="618" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/e7d6f22b-fe70-26fe-8a8e-882f0768ecf4.png">|証明書業者から購入したサーバー証明書とそのPrivate keyをCISにuploadする（自己署名証明書は不可）。<br>Bundle methodについての説明は[こちら](https://support.cloudflare.com/hc/en-us/articles/200170466-Managing-Custom-SSL-certificates#h_87817175191548201131028)<br><img width="618" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/83409e4f-1ac4-7474-21af-9517bb24394b.png">|
|CN(Common Name)|sni.cloudflaressl.com|certest.tk|certest.tk|利用者が自身で定義可能|
|組織情報|Cloudflare, Inc|Cloudflare, Inc|Cloudflare, Inc|利用者が自身で定義可能|
|SAN|「certest.tk」, 「&lowast;.certest.tk」, 「sni.cloudfalressl.com」の３つ|「certest.tk」, 「&lowast;.certest.tk」の2つ|「certest.tk」と注文時に指定したFQDN（ワイルドカード利用可能）。ただし、「certest.com」のような全く別のドメインの登録は不可であり、あくまで「certest.tk」の下位階層のみが登録可能。|利用者が自身で定義可能|
|証明書の更新|CISが自動更新|CISが自動更新|CISが自動更新|利用者責任で更新|


# 3. 証明書情報出力例
## 3-1. Universal wildcard

<img width="616" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/0b1cdc44-8faf-73cf-52b5-6a5f589b28e7.png">
<img width="617" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/c1517811-3b72-d494-aa1d-1b9547143164.png">
<img width="616" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/61a88cb7-176d-dcbf-5900-528d13f9d59a.png">

## 3-2. Dedicated wildcard

<img width="615" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/f45abfdb-a757-9ef8-8313-5119c2f87e02.png"><img width="615" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/771dd144-1edb-a3da-05a6-91223613b705.png">
<img width="616" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/a64ae450-aca6-0fbb-78ee-6ce3eaa2ab1b.png">


## 3-3.  Dedicated custom

<img width="617" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/77548f08-5ae5-909f-1359-ea85b785745d.png">
<img width="616" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/eb0e0f90-b9d0-df4e-3e1d-d382ec9fbe18.png">
<img width="614" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/1ca64c30-9c1b-68eb-dea9-08f8e8d028d7.png">