SureServer クロスルート用中間 CA 証明書「Security Communication RootCA2」失効に伴う Cloudflare エッジ証明書設定の確認

# 目的

「2023 年 4 月 18 日に失効」なので、確認する方法を書きます。

- [SureServer クロスルート用中間 CA 証明書のご提供終了に関するご案内｜お知らせ｜ サイバートラスト](https://www.cybertrust.co.jp/info/2022/secom-crossroot-eol.html)

> 2022 年 7 月 1 日付けで Mozilla Root Store Policy の改定があり、認証事業者において 2023 年 7 月以降、署名アルゴリズム SHA-1 による署名が禁止されます。
>これを受けまして、ルート認証局であるセコムトラストシステムズ株式会社にて、改定後の同規定に該当する本クロスルート証明書（有効期間満了日：2023 年 9 月 29 日）を、満了日に先立ちまして、**2023 年 4 月 18 日に失効**させる決定がなされました。

対応しなかった場合には、サーバー証明書が失効している旨の警告が表示される可能性があるので、できれば対応しましょう。

> 2023 年 4 月 18 日以降も 4 階層設定であった場合には、上記以外の環境においてブラウザから Web サイトへアクセスした際に、サーバー証明書が失効している旨の警告が表示される可能性がございます。


- [「サーバー証明書が失効？」サーバー証明書がブラウザーでエラーになる原因と対処法｜BLOG｜ サイバートラスト](https://www.cybertrust.co.jp/blog/ssl/knowledge/certificate-errors01.html)

# 確認方法

- [3 階層？ 4 階層？ サーバー証明書が正しく設定されているかを確認する二つの方法｜BLOG｜ サイバートラスト](https://www.cybertrust.co.jp/blog/ssl/knowledge/3-or-4-layers.html)

[SSLサーバ証明書　導入サポートツール](https://sstool.cybertrust.ne.jp/support_tool/index01.php) を使って確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/7506ffbf-778c-ba9f-f9f9-5cd0854064ca.png)

# 問題ない場合

Cloudflare を適用したドメインにおいて、以下の状態であれば問題ありません。

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/82105891-c2cc-1dc5-f3b3-c650c6d785dc.png)


# 対応が必要な場合

Cloudflare を適用したドメインにおいて、以下の状態の場合、対応が必要です。

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/ed6be20f-dd08-d849-5a72-561bc54009d3.png)

## Cloudflare で必要なエッジ証明書設定

持ち込みの「[カスタム証明書](https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/)」を想定したときに、「[証明書の再アップロード](https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/uploading/#update-a-custom-certificate)」が必要です。

具体的には、以下の「レンチ」アイコンから「Replace SSL certificate and key」に進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/3d41fa23-8451-1127-46db-ed34eb54702e.png)

「[Upload a custom certificate](https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/uploading/#upload-a-custom-certificate)」の手順に従って、 `SSL Certificate` 欄にサーバー証明書と、 `Private Key` 欄に秘密鍵を再アップロードします。

「[Bundle method](https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/bundling-methodologies/)」の設定については、以下のようにします。 
- まず `Compatible` か `Modern` で再アップロード
- その後に正しい 3 階層が確認できない場合は `User Defined` を指定
    - `SSL Certificate` 欄には、中間証明書・サーバー証明書の順で入力

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/b49c6a35-8521-d1bf-ce4c-eea1406f96f3.png)

再アップロード後は [SSLサーバ証明書　導入サポートツール](https://sstool.cybertrust.ne.jp/support_tool/index01.php) を使って確認できます

## 再アップロード時にエラーが出て処理できない場合

まずは「[サポートに連絡](https://developers.cloudflare.com/support/troubleshooting/general-troubleshooting/contacting-cloudflare-support/#getting-help-with-an-issue)」しましょう。
また、他の方法としては Enterprise Plan の `Modern` と `Legacy` の枠を活用して

- [Custom certificates availability](https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/#availability)
> `Modern` : (recommended): SNI only
`Legacy` : Supports non-SNI
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101361/38c1bcca-6f54-cee3-50b7-d6e30b706260.png)


1. 既存のカスタム証明書とは異なる `Legacy Client Support` を指定して新規アップロード
2. 既存のカスタム証明書を削除
3. 既存のカスタム証明書と同一の `Legacy Client Support` を指定して新規アップロード
4. 既存のカスタム証明書とは異なる `Legacy Client Support` の証明書を削除

# 最後に

カスタム証明書の「[Bundle method](https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/bundling-methodologies/)」が `Compatible` か `Modern` の場合には、証明書チェーンとして「[cloudflare/cfssl_trust at d612c9625ef305e3d776f4e24e791ff5f3d14527](https://github.com/cloudflare/cfssl_trust)」で管理されているバンドルデータが使われています。
その最新データを反映するためには、今回の再アップロードや新規アップロードによって、反映できる形となります。