SSL証明書を自分で申請すると、CSR・証明書・中間証明書・秘密鍵と、似た形のファイルがいくつも手元に残ります。
どれがどのドメイン用で、どれを設置すればよいのか、ファイル名だけでは分からなくなりがちです。
この記事では、ファイルの中身を貼り付けて読む方法と、opensslのコマンドで確かめる方法を紹介します。
この記事で使うSSL証明書・CSR内容確認は、当サイトと同じMOTOKI合同会社が作った「WEBツール箱」の1つです。
無料で、会員登録なしで使えます。
掲載例の確認日:2026年9月28日
本稿の見直しでは公開本文とOpenSSL・CSR・TLSの公式仕様を照合しました。今回コマンドを再実行しておらず、ツールの送信・保存・秘密鍵検知、現行OSとOpenSSLの組み合わせでの動作は未確認です。掲載結果と画像は当時の記録です。
この記事で分かること
- CSR・証明書・中間証明書・秘密鍵の見分け方
- 貼り付けるだけで、ドメイン名・有効期限・鍵の強度を確かめる手順
- opensslのコマンドで同じことを確かめる方法
- 証明書と秘密鍵が対になっているかを確かめる方法

PEM形式はBEGIN行で種類を確認する
以下は、BEGIN行で始まるPEM形式の見分け方です。DERやPKCS#12などのバイナリー形式には当てはまりません。拡張子だけで判断せず、提供元の形式指定も確認してください。
| 先頭の行 | ファイルの種類 | 外に出してよいか |
|---|---|---|
| —–BEGIN CERTIFICATE REQUEST—– | CSR(証明書の申請書) | 未公開のホスト名・組織情報・追加属性を確認し、外部に提供してよい内容だけ入力する |
| —–BEGIN CERTIFICATE—– | 証明書(サーバー証明書・中間証明書) | 公開済み、または外部に提供してよいものだけ入力する |
-----BEGIN PRIVATE KEY-----(RSA・EC・ENCRYPTEDが付くものも) | 秘密鍵 | 外部のツールへ入力しない |
CSRや証明書には、ドメイン名・組織名・公開鍵などが含まれます。秘密鍵を含まなくても、未公開の名称やCSRの追加属性を外部へ提供してよいとは限りません。
秘密鍵は厳重に管理し、外部の解析フォームへ貼り付けないでください。バックアップや移設が必要な場合も、管理権限のある環境と承認された方法で扱います。
公開済みの証明書や公開してよい内容のCSRだけを入力します。CSRには未公開のホスト名や組織情報が含まれる場合があるため、その場合は後述のopensslでローカル確認してください。
ツールで確認する手順
- SSL証明書・CSR内容確認を開く
- CSRまたは証明書のファイルをテキストエディターで開き、BEGINの行からENDの行までをまるごとコピーする
- 入力欄に貼り付けて「内容を確認する」を押す
種類・コモンネーム・有効期限・鍵の強度がカードで表示され、その下に確認結果が並びます。
ツールのページには保存・キャッシュをしないという説明と、判定結果を最大1時間一時保存するという説明が併存しています。本稿では実通信・保存処理を確認していないため、保存されないとは保証できません。秘密鍵や非公開の情報は入力せず、手元のopensslで確認してください。
実際に確認した結果
CSR|申請するドメイン名と鍵の強度を見る
説明用に、example.com のCSRを opensslで作って貼り付けました。
作るときにできた秘密鍵は、使わないのですぐに消しています。

コモンネームは「example.com」、鍵の強度は「RSA 2048ビット」と出ました。
コモンネームだけでなく、CSRのSANと認証局の申請画面に指定した対象名を確認します。発行後は証明書のSANに必要なホスト名が入っているかを照合します。
「国(C)または組織名(O)が入っていません」という注意も1つ出ています。
ドメイン認証(DV)の証明書なら不要なことが多く、企業実在認証(OV・EV)では必須になる項目です。
RSAの鍵が2048ビットより短いと、作り直すよう警告が出ます。
サーバー証明書|対応ドメインと有効期限を見る
次に、wordpress.org が公開している証明書を取り出して貼り付けました。

コモンネームは「wordpress.org」、発行者は Let’s Encrypt の「YE2」です。
対応ドメイン(SAN)には「*.wordpress.org」と「wordpress.org」の2つが入っていました。
有効期間は2026年9月24日から12月23日までで、2026年9月28日時点で残り85日です。
鍵は「ECDSA 256ビット」で、RSAより短い鍵長で同じ程度の強さが得られる方式です。
ブラウザーは、コモンネームではなく対応ドメイン(SAN)の一覧を見て、証明書がそのサイト用かを判断します。
wwwありとなしの両方で使う場合は、両方がSANに入っているかを確かめてください。
中間証明書|サーバー証明書と取り違えない
認証局から届くファイルには、サーバー証明書と中間証明書の2種類が含まれます。
先頭の行はどちらも「BEGIN CERTIFICATE」なので、見た目では区別できません。

wordpress.org の証明書の発行元である「YE2」を貼り付けると、「これは中間証明書(またはルート証明書)です」と出ました。
発行者は「ISRG」の「Root YE」で、有効期限は2028年9月3日です。
中間証明書はサーバー証明書と一緒に設置するもので、入れ忘れると一部の環境で接続エラーになります。
このとき「SAN(対応ドメインの一覧)がありません」という注意も出ます。
中間証明書はドメインのための証明書ではないので、SANが無いのは正常です。
この注意が気になるのは、サーバー証明書として貼ったファイルで出たときだけです。
内容表示で確認できることと、別に検証すること
CSRの内容表示は、申請予定の名前や公開鍵を読む作業です。CSRが読めても、証明書が発行済み、またはサーバーへ正しく設置済みという意味ではありません。発行後の証明書と、実際の接続先が返す証明書をそれぞれ確認します。
証明書をデコードして有効期間やSANを読めても、信頼チェーン、失効状態、接続先のホスト名との一致まで検証したことにはなりません。公開鍵の一致も、証明書と鍵の組み合わせを確認する範囲です。期限内であることだけで接続の正常性を判定しないでください。
設置後はwwwあり・なしなど実際に利用する各ホストへ接続して確認します。CDNやロードバランサーを利用している場合、手元の証明書と外部へ提示される証明書が異なることがあるため、更新したファイルだけで作業完了としないようにします。
opensslのコマンドで確認する方法
ツールを使わずに、手元のパソコンやサーバーで確かめることもできます。
まずターミナルで openssl version を実行し、利用できる実装と版を確認します。OSや導入方法によって実装・対応オプションが異なるため、コマンドが見つからない場合は管理者の手順で導入してください。以下のパイプや /dev/null はBash・zshなどのシェルを想定し、Windowsのコマンドプロンプトへそのまま貼る例ではありません。
CSRの中身をすべて表示するコマンドです。
openssl req -in server.csr -noout -text「Subject:」の行に申請内容、「Public-Key:」の行に鍵の強度が出ます。
CSRに追加のドメインを入れている場合は「Subject Alternative Name」の欄に並びます。
証明書の対象・発行者・有効期間だけを表示するコマンドです。
openssl x509 -in server.crt -noout \
-subject -issuer -dates「notBefore=」は有効期間の開始、「notAfter=」は終了です。開始前の証明書もまだ有効ではありません。
時刻は協定世界時(GMT)で出るので、日本時間は9時間足して読みます。
対応ドメイン(SAN)まで見たいときは、最後の3つを「-text」に替えて全体を表示します。
公開中のサイトの証明書をファイルに保存するコマンドです。
掲載例のwordpress.orgの証明書も、この方法で取り出した記録です。次のコマンドは外部へTLS接続し、カレントディレクトリのwporg.crtへ出力します。同名ファイルがあると上書きされるため、控えを残すか、別の出力ファイル名を使ってください。この取得だけで証明書チェーンや対象名の検証が完了するわけではありません。
openssl s_client -connect \
wordpress.org:443 \
-servername wordpress.org \
< /dev/null 2>/dev/null \
| openssl x509 > wporg.crt公開中のサイトを調べるだけなら、SSL証明書チェックにURLを入れるほうが手早く済みます。
読み込みエラーが出たら、対象がCSRか証明書か、ファイルパス、BEGIN/END行の欠落、入力形式を確認します。バイナリー形式を推測でテキスト化せず、元ファイルを残したまま形式に合うオプションを選びます。reqとx509の公式説明で対応形式を確認できます。
証明書と秘密鍵が対になっているか確かめる
証明書を設置するときにサーバーが起動しない場合、証明書と秘密鍵の組み合わせが違っていることがあります。
この確認は秘密鍵を使うので、ツールには貼らず、サーバーの上でコマンドを打って確かめます。
openssl x509 -noout -pubkey \
-in server.crt | openssl dgst -sha256
openssl req -noout -pubkey \
-in server.csr | openssl dgst -sha256
openssl pkey -pubout \
-in server.key | openssl dgst -sha256先頭のopensslを単独でも実行し、エラーなく空でない公開鍵のPEMが出力されることを3ファイルとも確認します。その条件でSHA-256値が一致すれば、公開鍵は一致しています。読取りに失敗した空出力も同じハッシュになるため、値の一致だけで成功とは判断できません。証明書のSAN、有効期間、信頼チェーンは別に確認します。
秘密鍵の中身は画面に出ず、そこから取り出した公開鍵だけを比べるので、秘密鍵をサーバーの外に出さずに確認できます。
よく紹介される「-modulus」を使う方法はRSAの鍵でしか使えませんが、この方法はECDSAの鍵でも使えます。
ツールでできないこと
| できないこと | 理由と代わりの方法 |
|---|---|
| 秘密鍵を読む | 秘密鍵は入力しない。検知して警告するという提供者説明はあるが、送信前に止まる実装は本稿では未確認 |
| 複数の証明書をまとめて読む | サーバー証明書と中間証明書を続けて貼ると、1枚目だけを読む。1枚ずつ貼る |
| CSRの追加ドメインを一覧にする | CSRではコモンネームだけを表示する。追加のドメインはopensslの「-text」で確かめる |
| CSRを作る | 秘密鍵が第三者のサーバーを通らないよう、CSRを作る機能は置いていない |
よくある質問
Q. CSRはどこで作ればよいですか?
証明書を設置するサーバーの上で作るのが原則です。
多くのレンタルサーバーは管理画面からSSLを申し込めるので、その場合はCSRを自分で作る必要がありません。
Web上のツールで秘密鍵ごと作るのは避けてください。
Q. うっかり秘密鍵を貼ってしまったらどうなりますか?
提供者は秘密鍵を検知して解析しないと説明していますが、本稿では検知の実装と送信前に止まることを確認していません。検知に頼って秘密鍵を入力しないでください。外部へ送った可能性がある場合は、その鍵を使い続けず、鍵の作り直しと証明書の再発行を検討します。
外部へ漏れた可能性がある鍵に対応する証明書は、発行元の手順に従って失効も確認します。単にフォームを閉じることや、同じ鍵で再発行することを対処の完了にはしません。
Q. 設置済みの証明書の有効期限を知りたいだけです
その場合はSSL証明書チェックにURLを入れれば、実際に接続して確かめられます。
複数のドメインの期限をまとめて見たいときは、ドメイン・SSL期限まとめて確認が使えます。
まとめ
- PEM形式は「BEGIN」の行で種類を確認する。バイナリー形式は別に確認する
- CSRと証明書の中身はSSL証明書・CSR内容確認に貼り付けるだけで読める
- サーバー証明書では、コモンネームより対応ドメイン(SAN)の一覧を確かめる
- 中間証明書に「SANがありません」と出るのは正常
- 秘密鍵はどこにも貼らない(対になっているかの確認はサーバーの上でコマンドを使う)

無料のSSL証明書の発行元を替えたいときは、「Let’s EncryptからGoogleのSSL証明書に変える方法」で手順を紹介しています。
ほかの項目もまとめて点検するなら、「WordPressサイトを自分で点検する手順」で順番と使い分けを解説しています。
ツールの一覧はWEBツール箱にあります。
公開鍵のSHA-256値を比べる手順では、前段のopensslがエラーなく公開鍵を出力したことを必ず確認します。読み取りに失敗した空の出力どうしも同じハッシュになるため、値が一致するだけでは成功と判断できません。秘密鍵は外部ツールへ送らず、権限のある手元の環境で扱います。



