0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

証明書Full chain、順番、CNなど中身の確認方法-2

0
Posted at

証明書Full chain、順番、CNなど中身の確認方法

Azure Application Gateway(AppGW)のリスナー設定やバックエンドとの HTTPS 接続で問題が発生した際、原因の多くは証明書の構成不備(中間証明書の欠落など)にあります。本ドキュメントでは、証明書の詳細確認と構成修正の手順をまとめます。

1. 証明書の詳細を確認する(手元にファイルがある場合)

AppGW にアップロードする前の .pfx ファイルに、必要な証明書チェーンがすべて含まれているか確認します。

Windows の場合(標準機能)

certutil -dump "path\to\your_certificate.pfx"

Linux / OpenSSL 環境の場合

openssl pkcs12 -info -in <ファイルのパス/xxxxx.pfx> -nokeys

Tip: -nokeys オプションを付けることで、秘密鍵の情報を表示せず、証明書の内容のみを簡潔に確認できます。


2. 稼働中のサービスから証明書を確認する(オンライン確認)

デプロイ済みの AppGW やバックエンドサーバーに対して、外部から証明書がどのように見えているかを確認します。

[リスナー側] Application Gateway への接続確認

ブラウザでアクセスできる場合でも、中間証明書が正しく送出されているかを s_client で確認するのが確実です。

openssl s_client -connect <AppGW_Public_IP>:443 -servername <FQDN> -showcerts

[バックエンド側] AppGW からバックエンドへの接続確認

AppGW がバックエンドと HTTPS 通信を行う際、バックエンド側が適切な証明書を提示している必要があります。

openssl s_client -connect <Backend_IP>:443 -servername <FQDN> -showcerts

チェックポイント:

  • Verification error: が表示されていないか(自署名証明書や有効期限切れ、チェーンの不備)。
  • Certificate chain: にサーバー証明書だけでなく、中間証明書(Intermediate)が含まれているか。
  • CN (Common Name) / SAN (Subject Alternative Name): が AppGW のバックエンド設定の「ホスト名」と一致しているか。

3. 証明書チェーンの修復と最適化(PFX の再構成)

ブラウザ(Chrome/Edge)は欠落している中間証明書を補完して表示する機能(AIA)がありますが、AppGW や特定のクライアントでは**フルチェーン(サーバー証明書 + 中間証明書)**が正しく並んでいる必要があります。

手順:PEM を経由した並び替え

  1. PFX から PEM への変換(秘密鍵と証明書を抽出)

    openssl pkcs12 -in original.pfx -nodes -out temp.pem
    
  2. テキストエディタで PEM を編集
    ファイルの順番を以下の「正しい順序」に整えます。不要な属性情報(Bag Attributes)は削除しても問題ありません。

    -----BEGIN PRIVATE KEY-----
    (サーバーの秘密鍵)
    -----END PRIVATE KEY-----
    -----BEGIN CERTIFICATE-----
    (サーバー証明書:Entity Certificate)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (中間証明書 1:Intermediate CA 1)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (中間証明書 2:Intermediate CA 2 ※必要な場合)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (ルート証明書:Root CA ※通常は含めなくても良いが、AppGWのバックエンド信頼用には必要な場合あり)
    -----END CERTIFICATE-----
    
  3. PEM から PFX への再変換

    openssl pkcs12 -export -in temp.pem -out fixed_certificate.pfx
    

4. 補足事項

Windows 環境への OpenSSL 導入

Windows でも Git Bash(Git for Windows に同梱)を利用すれば、標準で openssl コマンドが利用可能です。別途インストールする場合は、パッケージマネージャー(WinGet / Chocolatey)を利用すると管理が容易です。

  • WinGet: winget install OpenSSL.Light

AppGW 固有の注意点

  • バックエンド設定 (v2 SKU): バックエンドに公的な証明書(既知の CA)を使用している場合、AppGW v2 ではルート証明書のアップロードは不要になりました。ただし、中間証明書がバックエンドサーバーから正しく送出されていることが必須条件です。
  • パスワード: AppGW に PFX をアップロードする際、空のパスワードは受け付けられない場合があります。再変換時には必ずパスワードを設定してください。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?