サーバーレスで格安のSSL証明書を取得する（FujiSSL編）

# 概要
本稿では、年額1,100円から利用できる証明書サービス「FujiSSL」でSSL証明書を発行する方法を紹介します。

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

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

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

# 手順
## 事前準備
### CSR・秘密鍵を生成
証明書発行に必要なCSRを事前に生成します。サーバーレスで実施したいので、オンラインツールを利用します（`CSR` `生成ツール`などのキーワードで検索すると似たようなサービスがいくつかヒットします）。

今回は[「SSL MART」CSR・秘密鍵生成ツール](https://www.ssl-mart.com/system/tool/generateCsr)を使ってみます。

![CleanShot 2024-06-22 at 13.23.51@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/485aa965-75a9-dd1b-2cf7-dc3412a2dc46.png)

:::note warn
警告
ここで生成した秘密鍵はFujiSSLで発行した証明書とペアで利用します。大切に保管してください。
:::

## 証明書発行申込み
### 申込み開始
[FujiSSLトップ](https://www.fujissl.jp/)から申込みサイト（ストアフロント）へ移動します。

![CleanShot 2024-06-22 at 16.42.20@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/ccee978e-9195-cef0-14f0-1fc10195b96c.png)

### 1. 文書・規約への同意
申込みは6ステップで行います。まずは文書・規約への同意からです。

![CleanShot 2024-06-22 at 16.04.56@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/3d4e9598-bcce-b7f2-215d-331aaa5751de.png)

![CleanShot 2024-06-22 at 16.04.56@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/6d313872-9d27-9e78-28fa-153031de53f7.png)

### 2. 商品選択・CSR提出
商品を選択して、事前に準備したCSRをコピーします。

![CleanShot 2024-06-22 at 16.07.35@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/4c94b71a-4756-e0b5-77d9-c8eaf2353ea7.png)

### 3. 承認確認情報選択
ドメインを認証します。今回は「DNS認証」を選択します。

![CleanShot 2024-06-22 at 16.08.34@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/f5014c61-6b3b-dc0c-62ac-19b9d3227fac.png)

### 4. 申請情報入力
証明書情報にはCSR生成時に入力した内容が表示されます。担当者情報を入力は例示がありますので迷うことはないでしょう。

![CleanShot 2024-06-22 at 16.15.40@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/59fa699c-f8fe-4363-f801-08d7a2f5408c.png)

### 5. 確認・お支払い
決済情報と書類送付先を入力して注文を確定します。

![CleanShot 2024-06-22 at 16.18.20@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/da76de23-0fc2-d4d0-26c0-1f81f142ca6e.png)

### 6. 申し込み完了
証明書発行の申し込みが完了します。証明書発行までの流れを確認しておきましょう。

![CleanShot 2024-06-22 at 16.20.00@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/27e59c8c-c5c4-e228-0d05-880eaa0aaac0.png)

## DNS認証
### 注文メールを確認
申込み完了後、すぐに注文メールが届きます。DNSに設定するTXTレコードの値が記載されているので確認しましょう。

![CleanShot 2024-06-22 at 16.24.17@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/ab94475e-04e6-6313-aea0-1d75ed4eeb01.png)

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

![CleanShot 2024-06-21 at 17.50.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/2899d449-d85d-a02e-7104-eaf22f21ce04.png)

続いて設定対象ドメインにDNSレコードを追加します。
* ホスト名： 今回はネイキッドドメイン（サブドメインなし）に設定するため未入力
* 種別： 「TXT」を選択
* 内容： 注文メールに記載された値を入力

![CleanShot 2024-06-22 at 16.28.51@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/84787498-7808-75c3-55ae-6b0ab7203dbd.png)

:::note warn
警告
今回はネイキッドドメインに設定していますが、`www.example.com`のようにサブドメインがある場合は、サブドメインにも同様にTXTレコードを追加する必要があります。
:::

設定内容を確認してレコードを追加します。

![CleanShot 2024-06-22 at 16.29.17@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/f8b875b7-961f-7e69-fde2-a43f13fee6ae.png)

## 証明書発行
### 証明書発行メールを確認
DNSレコードを追加して、しばらく経つと証明書発行通知メールが届きます。DNS反映やチェックタイミングにもよるかと思いますが、今回はレコード追加から1時間程度でメールが届きました。

メールには以下の証明書情報が記載されています。
* SSLサーバ証明書
* 中間CA証明書

秘密鍵は事前準備でCSRと同時に生成されたものを利用するため、このメールへの記載はありません。

![CleanShot 2024-06-22 at 19.59.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/943534/56f2620e-d139-4061-4484-b1e4c7897d9c.png)

手順は以上です。

各証明書はコピー・ペーストやテキストファイルに保存するなどして、XServer以外のサービスでも証明書の利用が可能になります。