【さくらインターネット】SSL証明書を再発行する方法|CSRを再作成して証明書と秘密鍵が合わなくなった場合

はじめに

今回は、さくらインターネットで契約しているSSL証明書を再発行した際の手順について紹介します。

さくらインターネットのVPSを契約し、そのVPS上に自社サイトを構築してSSL証明書を設定していました。

SSL証明書の有効期限が近づいてきたため、少し早めに更新作業の準備を進めていたのですが、その途中で誤ってCSRを新しく作り直してしまいました。

その結果、

  • 現在サーバーにある秘密鍵
  • 新しく作成したCSR
  • 以前発行されたSSL証明書

の組み合わせが合わない状態になってしまいました。

SSL証明書は、発行申請時に使用したCSRと、そのCSRを作成した際の秘密鍵がセットになっています。

そのため、CSRや秘密鍵を作り直してしまった場合、以前発行されたSSL証明書をそのまま利用できないことがあります。

今回は、実際に行ったさくらインターネットのSSL証明書再発行手続きについてまとめます。

今回発生した問題

今回の環境は次のような構成です。

  • さくらインターネット VPS
  • Rocky Linux
  • Apache
  • 独自ドメイン
  • さくらインターネットで契約した有償SSL証明書

SSL証明書の更新時期が近づいてきたため、更新用のCSRを準備しようとしました。

ところが、ここで新しい秘密鍵とCSRを作成してしまったため、現在発行されているSSL証明書との組み合わせが変わってしまいました。

つまり、

以前の秘密鍵
     ↓
以前のCSR
     ↓
現在使用しているSSL証明書

という組み合わせだったものが、

新しい秘密鍵
 ↓ 
新しいCSR

に変わってしまった状態です。

この新しい秘密鍵に対して、以前のSSL証明書を設定することはできません。

さくらインターネットでも、SSL証明書申し込み後に秘密鍵やCSRを再作成した場合は、証明書の再発行対象になると案内されています。

SSL証明書の「更新」と「再発行」は違う

ここで注意したいのが、SSL証明書の更新と再発行は別の手続きという点です。

SSL証明書の更新

SSL証明書の有効期限を延長するための手続きです。

例えば、

SSL証明書の有効期限が近い 
 ↓ 
更新手続き
 ↓ 
新しい有効期限のSSL証明書を取得

という流れになります。

SSL証明書の再発行

一方、再発行は、現在のSSL証明書の有効期限を延ばすものではありません。

例えば、

  • 秘密鍵を削除してしまった
  • CSRを再作成した
  • SSL証明書発行後にCSR情報を変更した
  • サーバーを移行した
  • サーバーOSを再インストールした

といった場合に行う手続きです。

さくらインターネットでも、再発行は「有効期限内の発行済みSSL証明書に対する手続き」であり、証明書の有効期限を更新する手続きではないと説明されています。

今回のケースでは、

CSR・秘密鍵を作り直してしまった

という理由なので、更新ではなく再発行が必要になります。

CSRとは?

CSRは、

Certificate Signing Request

の略で、日本語では「証明書署名要求」と呼ばれます。

SSL証明書を認証局に発行してもらう際に提出するデータです。

一般的には、最初にサーバー上で秘密鍵を作成します。

秘密鍵 
 ↓ 
CSR作成 
 ↓
認証局へCSRを提出 
 ↓ 
SSL証明書発行

という関係になります。

重要なのは、

SSL証明書と秘密鍵はセット

ということです。

そのため、秘密鍵を作り直した場合はCSRも変わり、以前のSSL証明書を利用できなくなります。

さくらインターネットでも、秘密鍵を紛失・削除した場合には同じ秘密鍵を再作成することはできず、新しい秘密鍵とCSRを作成したうえでSSL証明書を再発行する必要があると説明されています。

SSL証明書と秘密鍵が合っているか確認する

SSL証明書を再発行する前に、本当に秘密鍵と証明書が一致していないのか確認しておくと安心です。

OpenSSLを利用して確認できます。

RSA形式の秘密鍵であれば、例えば次のように確認できます。

openssl rsa -noout -modulus -in private.key | openssl md5

SSL証明書側は、

openssl x509 -noout -modulus -in certificate.crt | openssl md5

CSR側は、

openssl req -noout -modulus -in server.csr | openssl md5

とします。

例えば、

private.key MD5(stdin)= abc123456789...
server.csr MD5(stdin)= abc123456789...
certificate.crt MD5(stdin)= def987654321...

となった場合、

秘密鍵 = CSR 
SSL証明書 ≠ 秘密鍵

です。

この状態では、現在の秘密鍵に以前のSSL証明書を設定することはできません。

さくらインターネットでSSL証明書を再発行する

ここから、実際に再発行手続きを行います。

さくらインターネットでは、SSL証明書の再発行はサポート窓口へメールで依頼する方式となっています。

手続きの大まかな流れは次の通りです。

新しい秘密鍵を作成
        ↓
新しいCSRを作成
        ↓
さくらインターネットへ再発行依頼
        ↓
さくらインターネットから認証局へ申請
        ↓
ドメイン認証
        ↓
SSL証明書再発行
        ↓
新しい証明書をVPSへ設置

STEP1 新しい秘密鍵とCSRを準備する

まず、新しい秘密鍵とCSRを準備します。

例えばOpenSSLを使用する場合です。

openssl genrsa -out private.key 2048

続いてCSRを作成します。

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

CSR作成時には、

Country Name
State or Province Name
Locality Name
Organization Name
Organizational Unit Name
Common Name
Email Address

などの入力を求められる場合があります。

特に重要なのが、

Common Name

です。

Webサイトが、

https://example.com/

であれば、契約内容に応じてCommon Nameを、

example.com

などとします。

CSRを作成したら内容を確認しておきます。

openssl req -in server.csr -noout -text

STEP2 さくらインターネットへSSL証明書の再発行を依頼する

CSRを準備したら、さくらインターネットへSSL証明書の再発行を依頼します。

さくらインターネットの公式サポートでは、再発行依頼用のフォーマットが用意されています。

SSL証明書を再発行したい | さくらのサポート情報
本マニュアルでは、SSL証明書の「再発行」について説明しています。※証明書の脆弱性発覚など、認証局都合による「再発行」については手続きが異なります。弊社からご案内メールをお送りしていますので、メールの内容に沿ってご対応くださいますようお願い…

必要になる主な情報は、

  • 会員ID
  • 契約者名
  • サービスコード
  • コモンネーム
  • 再発行したいSSL証明書の種類
  • 再発行理由

です。

今回であれば、再発行理由として、

SSL証明書更新準備中に秘密鍵およびCSRを再作成したため、
現在発行されているSSL証明書と秘密鍵が一致しなくなりました。
新しく作成したCSRにて証明書の再発行を希望します。

といった内容を記載しました。

公式案内では再発行依頼を、

support@sakura.ad.jp

宛てに送信する形になっています

STEP3 認証局によるドメイン認証を行う

再発行依頼をすると、さくらインターネット側から認証局へ再発行申請が行われます。

その後、必要に応じて認証局によるドメイン認証が行われます。

さくらインターネットの案内では、再発行時も基本的に初回申請時と同様に認証局による審査があり、メール認証が使用されます。企業認証型やEV証明書の場合には電話確認が行われる場合もあります。

認証メールが届いた場合は、メール内に記載されているURLへアクセスして認証を完了します。

認証が完了すると、認証局から新しいSSL証明書が発行されます。

STEP4 再発行されたSSL証明書を取得する

証明書の再発行が完了すると、さくらインターネットから連絡が届きます。

再発行されたSSL証明書を取得します。

ここで注意したいのが、

必ず今回作成した秘密鍵とセットで使用すること

です。

今回の構成は、

private.key
        ↓
server.csr
        ↓
再発行されたcertificate.crt

という組み合わせになります。

STEP5 Apacheへ新しいSSL証明書を設定する

Rocky Linux + Apache環境の場合、SSL証明書をサーバーへ配置します。

例えば、

/etc/pki/tls/private/private.key 
/etc/pki/tls/certs/certificate.crt 
/etc/pki/tls/certs/ca-bundle.crt

などです。

実際の保存場所はApacheの設定によって異なります。

ApacheのSSL設定を確認します。

sudo grep -R "SSLCertificate" /etc/httpd/

例えば、

SSLCertificateFile /etc/pki/tls/certs/certificate.crt
SSLCertificateKeyFile /etc/pki/tls/private/private.key
SSLCertificateChainFile /etc/pki/tls/certs/intermediate.crt

のようになっています。

SSL証明書ではサーバー証明書だけではなく、契約している証明書によっては中間CA証明書の設定も必要です。さくらインターネットも、発行された証明書と対応する中間CA証明書のインストールが必要と案内しています。

STEP6 Apacheの設定を確認する

証明書を入れ替えたら、いきなりApacheを再起動せず、設定ファイルをチェックします。

sudo apachectl configtest

または、

sudo httpd -t

問題がなければ、

Syntax OK

と表示されます。

その後Apacheを再起動します。

sudo systemctl restart httpd

状態を確認します。

sudo systemctl status httpd

STEP7 SSL証明書が切り替わったか確認する

最後に、新しいSSL証明書が正しく適用されているか確認します。

ブラウザから、

https://example.com/

へアクセスします。

ブラウザの証明書情報から、

  • 証明書の発行先
  • 発行者
  • 有効期限

などを確認します。

コマンドでも確認できます。

openssl s_client -connect example.com:443 -servername example.com

証明書の有効期限だけ確認する場合は、

echo | openssl s_client \
-connect example.com:443 \
-servername example.com 2>/dev/null \
| openssl x509 -noout -dates

例えば、

notBefore=...
notAfter=...

と表示されます。

notAfterが証明書の有効期限です。

SSL証明書を再発行すると有効期限も延長される?

ここは間違えやすいところです。

基本的に、再発行はSSL証明書の更新ではありません。

そのため、

再発行した
=
SSL証明書の期限が1年間延びた

という意味ではありません。

さくらインターネットも、再発行は有効期限を更新する手続きではないと明記しています。

また、2026年2月18日以降には一部の1年証明書について再発行時の有効期間に関する変更も行われています。再発行時点の契約内容・残存期間によって扱いが変わる可能性があるため、再発行前に公式情報を確認しておくことをおすすめします。

今回の原因

今回の問題を整理すると、

SSL証明書の更新時期が近づく
        ↓
更新準備としてCSRを作成
        ↓
秘密鍵も新しく作成してしまう
        ↓
以前のSSL証明書と秘密鍵が一致しなくなる
        ↓
SSL証明書の再発行が必要になる

という流れでした。

SSL証明書を扱うときには、

秘密鍵
CSR 
SSL証明書 
中間CA証明書

それぞれの役割を理解しておく必要があります。

特に重要なのが秘密鍵のバックアップです。

秘密鍵が残っていれば、現在発行されているSSL証明書をそのまま利用できるケースがあります。さくらインターネットでも、秘密鍵のバックアップがある場合は、秘密鍵をアップロードして発行済み証明書をインストールできると案内されています。

今後は秘密鍵・CSR・SSL証明書をセットでバックアップする

今回の経験から、SSL証明書関連のファイルはまとめてバックアップしておいた方が安全だと感じました。

例えば、

ssl/
├── private.key
├── server.csr
├── certificate.crt
└── intermediate.crt

のように管理します。

ただし、private.keyは名前の通り秘密鍵なので、Web公開ディレクトリなど誰でもアクセスできる場所には絶対に保存しないようにします。

秘密鍵については、

chmod 600 private.key

など、適切なアクセス権限を設定しておくことも重要です。


まとめ

今回は、さくらインターネットで契約しているSSL証明書のCSRを作り直してしまい、既存のSSL証明書と秘密鍵が一致しなくなったため、SSL証明書を再発行した手順について紹介しました。

今回のポイントをまとめると、

  • SSL証明書と秘密鍵はセットになっている
  • CSRは秘密鍵から作成する
  • 秘密鍵・CSRを再作成すると以前のSSL証明書が使えなくなる場合がある
  • この場合はSSL証明書の「更新」ではなく「再発行」を行う
  • さくらインターネットではサポートへ再発行依頼を行う
  • 再発行時には認証局によるドメイン認証が行われる
  • 発行されたSSL証明書を新しい秘密鍵と組み合わせてサーバーへ設定する
  • 設定後はApacheの設定確認とSSL証明書の有効期限確認を行う

という点です。

SSL証明書の更新作業では、CSRを作成する前に、

現在使用している秘密鍵はどれか
現在のSSL証明書はどの秘密鍵から作られたCSRで発行されたのか

を確認しておくことをおすすめします。

特に本番環境では、既存の秘密鍵や証明書を削除・上書きする前に必ずバックアップを取得しておくと、今回のような再発行作業を避けられる可能性があります。

コメント