Nextcloudを動かしているCentOSサーバーのドメイン認証はLet’s Encryptを使っていたんですが、Certbotがうまく動かなくなって証明書の更新ができなくなりました。
ちょっと調べてみたもののよくわからず期限切れが迫ってきたので他の証明書を探してみました。このサイト自体は日本の代理店から購入したFuji SSLを使っていますが、海外のものを探してみたところGoGetSSLのGGSSLというのが2年で7.76USDと格安だったのでこれを使うことにします。
メールの取得設定
今回もメール認証をします。対象ドメインの規定メールアドレスでインターネットメールが受信できるようにしておきます。規定のアドレスは以下のとおり。
- admin@example.com
- administrator@example.com
- hostmaster@example.com
- webmaster@example.com
- postmaster@example.com
他にwhois情報に登録しているメールアドレスも使えます。
証明書購入
GoGetSSLのトップページを下へスクロールすると、「Cheap SSL certs」の項目があるのでこれをクリックします。

幾つかのリストが出てきます。無料のものは多分数ヶ月のお試し版と思われますが、よくわかりません。今回はGGSSLの3.88USDのものを選択。

実際に年間3.88USDになるのは2年分買ったとき。1年分は4.45USDです。それでも安い。どちらかを選んで「Buy SSL Certificate」ボタンを押します。

内容をもう一度確認して「Next Step」ボタンを押します。

購入にはアカウントが必要なので「Create new account」ボタンで新規作成しました。

アカウント名はメールアドレス。パスワードを決めて個人情報を登録します。


支払い方法を指定して「Complete Oder」ボタンを押すとログイン画面に遷移するので、メールアドレスとパスワードを入力して処理を続けます。


SSL Certificates画面を開くと先程注文したリストが出てくるので、「View」ボタンを押します。Order StatusはIncompleteですね。

「Generate Certificate」ボタンを押してOrder TypeとWeb Server Softwareが適切であることを確認してからPaste your CSRにOpenSSLで作るCSRで作ったCSRの内容を貼り付けて「Validate CSR」ボタンを押します。


Select Validation Method画面で適切にメールアドレスを設定して「Next Step」ボタンを押すと、指定のアドレスにメールが届きます。


メールに記載されているurlにアクセスすると、Administrative Contactの入力画面に遷移します。すべて記入してSubscriber Agreementに同意のチェックを入れたら「Complete Generation」ボタンを押します。


証明書が出来上がったら「Continue to SSL Management」ボタンを押してValidation codeを入力します。Validation codeは先程のurl記載メールに書いてあります。


おめでとうございます。無事に証明書が発行されました。証明書はGoGetSSLのアカウントに使用したメールアドレス宛に添付ファイルで送られてきます。

間違えたときは。。。
なんでこんな情報があるかというと、実際に間違えて証明書を発行してしまったから。CSR生成時の国コード指定でJAって指定しちゃった!正しくはJPね。
サポートに「CSR貼り替えたいんだけど」ってチケット送ったら「それは無理」との回答。一旦オーダーをキャンセルして新しく作り直してくれと。…なにこの既視感。なんかFujiSSLのときも同じことした気がする。。。
********Dear xxx,
Unfortunately, it is not possible to restore the rejected order.
Kindly cancel this one and place the new insteadPlease follow these steps to cancel the order:
1. Go to “SSL Certificates”;
2. View order details;
3. Click the “Cancel Order” button;
4. Put the reason for cancellation.Once done, our managers will review the request within 1 – 3 hours. Refunded funds will appear on your balance immediately.
Refund Policy details:
https://www.gogetssl.com/refund-policy/Please let us know if further assistance is required…
Best Regards,
というわけでサポートのAnastasijaのお陰でどうにか危機を脱しました。
証明書ファイルを設置する
証明書の設置はFuji SSLやLet’s Encryptと同じなので余裕!と思っていたら証明書ファイルが3つも入っていました。
- www_example_com.crt
- USERTrust_RSA_Certification_Authority.crt
- AddTrust_External_CA_Root.crt
秘密鍵は自分で作ったもの(先程パスコードを削除したもの)なのでいいとして、証明書ファイルはどれを使えばいいんだ?
結論から言うと上記ファイルを1から順に結合したものをwww.example.com.crtとすればよし。ただし各ファイルはたまに最終行に改行が入っていないので、単純なcatではダメです。各ファイルの最初と最後のコメント行がくっつかないようにしましょう。
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
こういうのはダメ。
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
ちゃんと分離してね。
秘密鍵はCSR作成時に用意したのちにパスフレーズを解除しておいたもの。それぞれnginx.confの適切な場所に指定します。
ssl_certificate /etc/ssl/www.example.com.crt;
ssl_certificate_key /etc/ssl/www.example.com.key;
これで2年間は安泰です。