2026年7月29日
2026年7月29日
DigiCert で SSL 証明書を発行する手順(CSR作成からサーバー設置まで)
DigiCert の SSL/TLS 証明書は、「CSR と秘密鍵を作る」「注文して認証を通す」「証明書をダウンロードしてサーバーに設置する」「配信を確認する」の4段階で発行できます。この記事では、DigiCert の管理画面 CertCentral で初めて証明書を発行する人に向けて、各段階で何をするのか、どこでつまずきやすいのか、終わったあとに何を確認すればよいのかを順に説明します。
なお、更新の自動化(ACME)については別の観点になるため、ここでは最初の1枚を手作業で発行する流れに絞ります。
発行の前に決めておくこと
注文を始める前に、次の3点を決めておくと手戻りが減ります。
- 証明書の種類:ドメインの管理権限だけを確認する DV、組織の実在を確認する OV、より厳格な審査の EV。DigiCert 本体のブランドは OV・EV が中心で、DV が必要なら同じ DigiCert が扱う GeoTrust や RapidSSL などのブランドを検討することになります
- 対象のホスト名:
example.comとwww.example.comの両方か、サブドメインも含めるか。複数のホスト名をまとめるなら SAN(マルチドメイン)、同じ階層のサブドメインをまとめるならワイルドカード - 鍵の種類:互換性重視なら RSA 2048 ビット、軽さ重視なら ECDSA P-256。古いクライアントからの接続がなければ ECDSA でも問題になりにくい
OV・EV の場合は、組織情報(正式名称、所在地、電話番号)と、審査の連絡を受ける担当者を用意しておきます。登記上の表記と申請内容が一致しないと審査が止まるので、英語表記も含めて社内で確認しておいてください。
手順1:CSR と秘密鍵を作る
CSR(証明書署名要求)は、公開鍵とホスト名などを認証局に渡すためのファイルです。秘密鍵とセットで作り、秘密鍵はサーバーの外に出しません。CertCentral の注文画面でも CSR を貼り付ける欄が出てくるので、先に作っておきます。
# 作業用ディレクトリ(秘密鍵を置くので権限を絞る)
mkdir -p ~/csr && chmod 700 ~/csr && cd ~/csr
# RSA 2048 ビットの秘密鍵と CSR を同時に作成
openssl req -new -newkey rsa:2048 -nodes \
-keyout www.example.com.key \
-out www.example.com.csr \
-subj "/C=JP/ST=Tokyo/L=Chiyoda-ku/O=Example Inc./CN=www.example.com"
chmod 600 www.example.com.key
ECDSA にする場合は -newkey rsa:2048 を -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 に置き換えます。
-subj の組織情報は OV・EV で意味を持ちますが、最終的に証明書に入る内容は注文時の入力と審査結果で決まります。DV なら CN(コモンネーム)だけでも構いません。追加のホスト名(SAN)は CSR に書かなくても、注文画面で指定するのが一般的です。www 付きで注文すると www なしのドメインも含まれる場合がありますが、扱いは製品によるので注文画面の表示で確認してください。
作った CSR は内容を確かめてから提出します。
openssl req -noout -text -in www.example.com.csr | grep -E "Subject:|Public-Key"
-nodes は秘密鍵をパスフレーズなしで保存する指定です。Web サーバーの起動時にパスフレーズを入力せずに済む代わりに、ファイルの権限管理が重要になります。秘密鍵をメールやチャットで送らないでください。
手順2:CertCentral で注文する
CertCentral にログインし、証明書の注文画面から製品を選びます。画面の名称や項目の並びは更新で変わることがあるので、ここでは入力する内容の目的で説明します。
- CSR:手順1で作った
.csrファイルの中身を、-----BEGIN CERTIFICATE REQUEST-----から-----END CERTIFICATE REQUEST-----まで貼り付ける - ホスト名:CSR の CN が反映される。追加のホスト名があればここで加える
- 有効期間・契約期間:証明書1枚の有効期間には上限があり、2026年3月からは最長 200 日です(2026年10月現在)。複数年契約を選んだ場合も、期間内に再発行して差し替えていく形になります
- 組織情報(OV・EV):既に審査済みの組織があれば選び、なければ新規に登録する
- 署名アルゴリズム・サーバーの種類:特別な理由がなければ既定値のままでよい
注文を送ると、ドメイン認証と(OV・EV なら)組織審査が始まります。
手順3:ドメイン認証(DCV)を通す
ドメイン認証は、申請者がそのドメインを管理していることを示す手続きです。DigiCert では主に次の方法から選べます(選べる方法は製品や時期によって異なります)。
DNS の TXT レコード:管理画面に表示されたランダムな値を、指定されたホスト名の TXT レコードとして登録します。サーバーに触れずに済み、ワイルドカード証明書でも使えるため、DNS を自分で操作できるなら最も扱いやすい方法です。
# 登録した TXT レコードが外から見えるか確認
dig +short TXT example.com
HTTP(ファイル設置):指定された内容のファイルを、/.well-known/pki-validation/ 配下に置きます。WordPress のサイトでは、セキュリティプラグインやリダイレクト設定がこのパスへのアクセスを妨げることがあります。ブラウザで http://example.com/.well-known/pki-validation/ 配下のファイルが開けるか確認してください。HTTP から HTTPS へのリダイレクトや、www の有無の正規化で別のホストに飛ばされると、認証が通らない原因になります。
メール:admin@ や webmaster@ など決められた宛先に届くメールのリンクを開いて承認します。その宛先でメールを受け取れることが前提です。
認証が通らないときは、TXT レコードならDNSの反映待ちや登録先のゾーン違い、HTTP なら 404 やリダイレクト、メールなら宛先が存在しないことが典型的な原因です。
OV・EV では、並行して組織の実在確認と、申請担当者への電話などによる確認が行われます。連絡がつかないと審査が進まないので、担当者が連絡を受けられる状態にしておいてください。
手順4:証明書をダウンロードして設置する
発行されると、CertCentral から証明書をダウンロードできます。サーバーの種類を選ぶと、それに合った形式(サーバー証明書と中間証明書のファイル)が得られます。Nginx と Apache の場合の設置例を示します。作業前に既存の設定ファイルをバックアップしてください。
Nginx:サーバー証明書の後ろに中間証明書を連結した1ファイルを指定します。
cat www_example_com.crt DigiCertCA.crt > /etc/ssl/certs/www.example.com.fullchain.pem
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/ssl/certs/www.example.com.fullchain.pem;
ssl_certificate_key /etc/ssl/private/www.example.com.key;
}
ダウンロードしたファイル名は製品や選んだ形式によって異なるので、実際のファイル名に読み替えてください。連結の順番は「サーバー証明書が先、中間証明書が後」です。逆にすると Nginx が起動しないか、鍵が一致しないというエラーになります。
Apache 2.4.8 以降:SSLCertificateFile に中間証明書を含めたファイルを指定できます。古い SSLCertificateChainFile は非推奨です。
<VirtualHost *:443>
ServerName www.example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/www.example.com.fullchain.pem
SSLCertificateKeyFile /etc/ssl/private/www.example.com.key
</VirtualHost>
反映前に、証明書と秘密鍵が対になっているかを確かめます。公開鍵を比較する方法なら RSA でも ECDSA でも使えます。
openssl x509 -noout -pubkey -in www_example_com.crt | openssl sha256
openssl pkey -pubout -in /etc/ssl/private/www.example.com.key | openssl sha256
2つの値が同じなら対になっています。続けて設定を検査し、問題がなければ再読み込みします。
sudo nginx -t && sudo systemctl reload nginx
# Apache の場合(ディストリビューションにより httpd)
sudo apachectl configtest && sudo systemctl reload apache2
レンタルサーバーの場合は、管理パネルの独自 SSL の設定画面に、証明書・秘密鍵・中間証明書をそれぞれ貼り付ける形が一般的です。
手順5:配信を確認し、WordPress 側を整える
外部から、新しい証明書が中間証明書と一緒に配信されているかを確認します。
echo | openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null \
| openssl x509 -noout -subject -issuer -enddate
issuer が DigiCert の中間証明書、enddate が今回の期限になっていれば設置は成功です。スマートフォンなど複数の環境のブラウザでも警告が出ないか見ておくと、中間証明書の漏れに気付けます。
WordPress を初めて HTTPS 化する場合は、続けて次の作業をします。データベースのバックアップを取ってから進めてください。
- 「設定」→「一般」の WordPress アドレスとサイトアドレスを
https://に変更する(wp-config.phpでWP_HOMEとWP_SITEURLを定義している場合はそちらを直す) - HTTP から HTTPS への 301 リダイレクトを Web サーバーで設定する
- 本文やテーマに残った
http://の画像・スクリプトを修正し、混在コンテンツをなくす
最後に、有効期限の監視を設定し、更新の担当者と手順を記録しておきます。有効期間は今後さらに短くなる予定なので、2回目以降は ACME などによる自動化に切り替えることをおすすめします。
まとめ
- 発行前に証明書の種類、対象ホスト名、鍵の種類を決め、OV・EV なら組織情報と担当者を用意する
- CSR と秘密鍵は openssl で作り、秘密鍵はサーバーの外に出さず権限を絞る
- ドメイン認証は DNS の TXT が扱いやすい。HTTP 方式は WordPress のリダイレクトやプラグインに注意する
- 設置時は中間証明書を連結し、公開鍵の比較で鍵の対応を確かめ、設定検査のうえで再読み込みする
- 配信を openssl で確認し、WordPress の URL 変更・リダイレクト・混在コンテンツを整え、期限監視と次回以降の自動化を準備する