GoGetSSLでドメイン認証をとる

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」の項目があるのでこれをクリックします。

格安SSL購入画面

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

SSL価格一覧

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

SSL選択画面

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

有効期間選択画面

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

アカウント作成画面

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

メールアドレスとパスワードの入力
アカウント情報の入力

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

支払い方法の選択画面
ログイン画面

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

SSL証明書リスト

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

CSR生成画面
CSR検証画面

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

検証方法の選択
検証コード連絡メール

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

管理者情報入力画面
証明書ファイル完成

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

SSL証明書完成
検証コード入力画面

おめでとうございます。無事に証明書が発行されました。証明書は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 instead

Please 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と同じなので余裕!と思っていたら証明書ファイルが複数入っていました。

秘密鍵をRSAで作成したとき

  1. www_example_com.crt
  2. USERTrust_RSA_Certification_Authority.crt
  3. GoGetSSL_RSA_DV_CA.crt

秘密鍵をECDSAで作成したとき

  1. www_example_com.crt
  2. USERTrust_ECC_Certification_Authority.crt
  3. GoGetSSL_ECC_DV_CA.crt
  4. AAA_Certificate_Services.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_password_file       /root/ssl/example/passphrase.txt;
ssl_certificate_key     /etc/ssl/www.example.com.enc.key;

これでしばらくは安泰です。

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments