サーバーレスで無料のSSL証明書を取得する（ZeroSSL編）

# 概要
本稿では、オンラインサービス「ZeroSSL」を利用した無料のSSL証明書を発行する方法を紹介します。

XServerなどのサーバーレス環境でWebサイトを運営している場合は、証明書ファイルが必要な状況でも、証明書発行に必要なサーバー環境を用意できないことや、各種コマンドの取り扱いが難しいことあると思います。

# 想定ケース
今回は以下のようなケースを想定した証明書発行手順を記載します。

* XServerでWebサイトを運営している
* 証明書ファイルが必要（WAF導入等）
* レンタルサーバーの仕様で証明書ファイルの取り出しができない
* サーバーやコマンドを使用せずに手軽に証明書を発行したい

# 手順
### ZeroSSLにサインアップ

[ZeroSSLのウェブサイト](https://zerossl.com/)にアクセスし、ドメインを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/8c13ff58-4968-5e56-4540-af3879c40e95.png)

メールアドレスとパスワードを入力して「Next Step」をクリックします。

![CleanShot 2024-06-21 at 17.44.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/cc23a20f-090c-123a-636b-e471835c806f.png)

### 証明書情報を入力
ドメインを確認して「Next Step」をクリックします。 

![CleanShot 2024-06-21 at 17.45.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/92b9c25c-22c3-a107-06ea-724835936fc7.png)

「９０-Day Certificate」（証明書有効期限90日）を選択して、「Next Step」をクリックします。

![CleanShot 2024-06-21 at 17.46.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/d68d8671-b7d9-ff77-fb72-dde4dd23712d.png)

今回はアドオンを選択せずに「Next Step」をクリックします。

![CleanShot 2024-06-21 at 17.46.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/ef731aa9-a8a8-f983-472c-4e05f95ddffb.png)

「Auto-Generate CSR（CSR自動生成）」を有効にして「Next Step」をクリックします。

![CleanShot 2024-06-21 at 17.46.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/bb876f53-2214-90ea-874e-b2d113299c9d.png)

「Free（無料プラン）」を選択して「Next Step」をクリックします。

![CleanShot 2024-06-21 at 17.46.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/bb4910e5-482c-0535-dd99-cf67f19e66ae.png)

### ドメインを認証
ドメイン認証を行います。今回はX-Serverで管理しているDNS（CNAMEレコード）に登録する認証情報を確認します。

![CleanShot 2024-06-21 at 17.47.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/c8ccce23-d454-fbe7-4500-647ac922d74f.png)

XServerの管理画面（サーバーパネル）から、DNSレコード設定に移動します。

![CleanShot 2024-06-21 at 17.50.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/8ff65c86-d5bc-3834-1b52-e5d19c6c255a.png)

ZeroSSLから指定された認証情報をCNAMEレコードに登録します。

![CleanShot 2024-06-21 at 17.50.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/1f78561e-8702-1ee4-a3cf-cab00c86fd7e.png)

ZeroSSL管理画面に戻り、「Next Step」をクリックします。

![CleanShot 2024-06-21 at 17.54.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/2d465591-b9d4-df4b-13a8-b3a2278a1cb2.png)

「Verify Domain」をクリックします。

![CleanShot 2024-06-21 at 17.55.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/49136254-4e2a-7aa4-930b-085ef4ccb22e.png)

ドメイン検証が完了しました。証明書発行まで数秒待機します。

![CleanShot 2024-06-21 at 17.57.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/41b8b880-63ee-0226-5235-d849d47543c5.png)

### 証明書をダウンロード
発行された証明書ファイルをダウンロードします。

![CleanShot 2024-06-21 at 17.57.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/b5cdaac2-8b30-3241-5111-45c22ac363bd.png)

ダウンロードしたZIPファイルを解凍すると次のファイルが展開されます。
* certificate.crt（サーバー証明書）
* ca_bundle.crt（中間証明書）
* private.key（秘密鍵）

![CleanShot 2024-06-22 at 11.24.22@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/9a772960-68c6-f4a9-7162-2d78e3ef90eb.png)

手順は以上です。

証明書ファイルは.PEM（Base64形式）で保存されています。
テキストエディターで開いて内容をコピーするか、ファイル自体をアップロードすることで、XServer以外のサービスでも証明書の利用が可能です。