https

さくらインターネットでTLS(SSL)サーバー証明書を取得しようとしたら結構手間取った話

最近はLet’s Encryptを使えば無料でサーバー証明書が手に入るのですが、オフィシャルのdockerコンテナも未だ出ていないですし、ロードバランサを使う場合はやっぱりちゃんとした証明書を取ったほうが便利…という事もありまして、今回さくらインターネットで証明書を取得してみました。

今まで自分が証明書を取得する時はSSL BOXを使っていて、ここはメールアドレスによる認証で取得できるのでスムーズだったのですが、今回さくらで取得しようとしたところかなり手間取ったので、今後さくらで取得しようとしている方の参考になればと思いご紹介させていただきます。

さくらですとDV証明書のみならず、EV証明書やOV証明書も取得出来るので、めちゃくちゃ本格的なWEBサービス運営したい方もご参考にして下さい。

秘密鍵の作成

まずは秘密鍵を以下のコマンドで作成します。

$ openssl genrsa -out server.key 2048

CSRの作成

続いてCSRを作成します。CSRっていうのは簡単に言うと認証局に証明書を要求(Request)するときに使う文章みたいなものです。

$ openssl req -new -key server.key -out server.csr

コマンドを実行すると色々と聞かれますが、最低限入力すべき項目は以下の通りです。

  • Country Name
  • State or Province Name
  • Locality Name
  • Organization Name
  • Organizational Unit Name
  • Common Name

Common Nameは申請するドメイン名を入力します。DV証明書ならば他は適当でも構いません。

証明書申し込み

さくらインターネットのHPに行き、実際に証明書を取得してみましょう。今回は一番安価なDV証明書を取得します。

さくら証明書

続いて作成したCSRをコピーし貼り付けます。

さくら証明書

以上の作業が完了すると、登録したメアドにさくらから取得方法の連絡が来ます。

さくらの場合はWEBサーバーとDNSの設定が必須

自分はてっきりSSL BOXのようにwhoisに登録してあるメールアドレスに向けて認証キーが送られ、それで認証が済むのかと思いきや、さくらのメールには以下のような記載が…

ダウンロードした認証ファイルを、申請時に指定したFQDN(コモンネーム)配下にアップロードしてください。
※認証ファイルは以下のいずれかのURLに配置
認証ファイル名は、fileauth.txtです
例)
http://<申請時に指定したFQDN(コモンネーム)>/.well-known/pki-validation/fileauth.txt
https://<申請時に指定したFQDN(コモンネーム)>/.well-known/pki-validation/fileauth.txt

※「/.well-known/pki-validation/」のフォルダはお客さまで作成ください

っておいおい、WEBサーバー構築するために必要な証明書を取得するのにWEBサーバーが必要ってまるで卵と鶏ではないですか(´・ω・`)

でももうお金払ったちゃったし、短時間でもいいので簡単にWEBサーバー構築出来る方法ないかしら…と考えDigitalOceanを使うことにしました。

One-click appsでLAMP環境を作る

手軽にWEBサーバーが作れればいいのでOne-click appsからLAMP on 16.04を選択しました。

lamp16.04

DNSの設定

自分の場合、テスト用のドメインのネームサーバーもDigitalOceanを利用しているのでDNSも簡単に変更可能でした。

digitalocean_dns

試しにテストドメインにアクセスしてみると以下のように表示されました。

digitalocean_LAMP

SSHでサーバーにログイン

作成したDropletにSSHでアクセスしてみます。DigitalOceanには事前に公開鍵を登録しているものとして話を進めます。

$ ssh root@example.com

ログインできたらさくらから指定された公開ディレクトリを作成し、認証ファイルを作成します。

$ cd /var/www/html
$ mkdir .well-known
$ cd .well-known
$ mkdir pki-validation
$ cd pki-validation

vimなどのエディタを開き、DLした認証ファイルを貼り付けます。

$ vim fileauth.txt

無事に公開が確認されました。

digitalocean_auth

証明書と中間証明書のダウンロード

しばらくすると、さくらの会員メニューから証明書がダウンロード出来るようになります。また今回選択したラピッドSSLの中間証明書は中間CA証明書(ラピッドSSL用)ダウンロード(SHA-2)|SSLサーバ証明書 ジオトラストからダウンロードできます。

sakura_tls

以上、さくらインターネットを使ったサーバー証明書の取得方法でした。