web-dev-qa-db-ja.com

ApacheでSSL証明書を更新する

Linux/ApacheWebサイトの1つにVeriSign証明書があります。有効期限が切れます。 VeriSignからリニューアルを購入する予定です。

Apacheで証明書を更新する最良の方法は何ですか?新しいリクエストを生成して最初からやり直す必要がありますか?注意すべき落とし穴はありますか?

2
Kyle Brandt

VeriSignに保存されたコピーを使用して証明書を更新することを選択した場合:

  1. VeriSign Webサイトにアクセスし、保存されているCSRの使用を選択しました。サイトで証明書を更新することを選択した場合、これはチェックボックスになります。
  2. リクエストの処理が完了すると、新しい証明書がメールで送信されます。
  3. 電子メールに含まれていた証明書をサーバー上の新しいファイルに保存し、新しいファイルを指すようにssl.confまたはhttpd.confSSLCertificateFileディレクティブを構成します。
  4. おそらく必要です(私にとっては): このVeriSignリンク に移動し、VeriSignの新しい中間証明書をダウンロードしてファイルに保存します。次に、SSLCACertificateFileディレクティブを変更して、その新しいファイルも指すようにします。
  5. Apacheを再起動します
3
Kyle Brandt

現在の証明書の要求を辞任させることができます。 ただしこれは(理論的には)セキュリティを低下させます。

実際には、キーが適切に生成され、SSLエントロピーの問題が発生したDebianまたはUbuntuマシンで使用されていない限り、および正式に信頼されている人がまだキーのコピーを持っていても問題はありません。結構です。

私は通常、再署名するだけですが、上で述べたように、心配な場合は、新しい証明書を生成するだけです。それは同じプロセスです。

7
LapTop006

署名機関によって適用される有効期間として、要求(証明書署名要求、またはcsr)を再生成する必要はありません。必要に応じて、今回も署名用の元のcsrを送信できますが、署名部分が変更されているため、結果の証明書はdifferentになります。 csrを再利用する利点は、証明書の重要な部分をいじる必要がないことです。

2
asdmin

既存の署名リクエストがある場合は、問題なく再度送信できます。多くのレジストラは、とにかく更新の目的で、実際には最後のcsrのコピーを保持します。それがオプションでない場合、新しいcsrは次の方法で簡単に生成されます。

openssl req -new -key <server>.key -out <server>.csr

クライアントが警告をスローしないように、URLで使用されるアドレスとして共通名(CN)を入力してください。

私が自分のサーバーで行うのが好きなことの1つは、古い証明書を保持し、発行日(または有効期限)に基づいて/ etc/ssl/certsフォルダーを年に編成することです。証明書が更新された回数と、次に更新される可能性が高い時期を追跡するのに役立ちます。

参考までに、新しいキーも必要な場合は、次のようにします。この場合、このキーから新しいcsrを生成する必要があります。

openssl genrsa 1024 -out <server>.key
chown root <server.key>; chmod go-rwx <server.key>
2
Frenchie