内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

問題

解決方法

ステップ 1：.pfx証明書の検索

ステップ 2：.pfxファイルからの証明書とキーの抽出

ステップ 3：テキストエディタでの証明書の確認

ステップ 4：メモ帳での秘密キーの確認

ステップ 5：CA証明書の分割

手順 6：PKCS12ファイルでの証明書のマージ

手順 7：FMCでのPKCS12ファイルのインポート

確認

はじめに

このドキュメントでは、FMCによって管理されているFirepower Threat Defense(FTD)デバイスの認証局(CA)インポートエラーをトラブルシューティングし、修正する方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- 公開キー インフラストラクチャ（PKI）

- Firepower Management Center（FMC）

- Firepower Threat Defense（FTD）

- OpenSSL

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。

- MacOS x 10.14.6

- FMC 6.4

- OpenSSL

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

背景説明

注:FTDデバイスでは、証明書署名要求(CSR)を生成する前にCA証明書が必要です。

- CSRが外部サーバ（Windows ServerやOpenSSLなど）で生成される場合、FTDはキーの手動登録をサポートしないため、手動登録メソッドは失敗します。PKCS12など、別の方式を使用する必要があります。

問題

この特定のシナリオでは、図に示すように、FMCのCA証明書ステータスに赤い十字が表示されます。これは、証明書の登録がCA証明書のインストールに失敗したことを示します。このエラーは、証明書が正しくパッケージされていない場合、または図に示すようにPKCS12ファイルに正しい発行者証明書が含まれていない場合によく発生します。

注：新しいFMCバージョンでは、この問題は、.pfx証明書の信頼チェーンに含まれるルートCAを使用して追加のトラストポイントを作成するASAの動作と一致するように対処されています。

解決方法

ステップ 1：.pfx証明書の検索

FMC GUIに登録されたpfx証明書を取得し、保存してMac Terminal(CLI)でファイルを見つけます。

ls

ステップ 2：.pfxファイルからの証明書とキーの抽出

CA証明書ではなく、クライアント証明書をpfxファイルから抽出します（.pfxファイルの生成に使用したパスフレーズが必要です）。

openssl pkcs12 -in cert.pfx -clcerts -nokeys -out id.pem

IDエクスポート

CA証明書（クライアント証明書ではない）を抽出します。

openssl pkcs12 -in cert.pfx -cacerts -nokeys -out certs.pem

cacertsエクスポート

pfxファイルから秘密キーを抽出します（ステップ2と同じパスフレーズが必要です）。

openssl pkcs12 -in cert.pfx -nocerts -out key.pem

キーエクスポート

cert.pfx（元のpfxバンドル）、certs.pem（CA証明書）、id.pem（クライアント証明書）、key.pem（秘密キー）の4つのファイルが存在します。

エクスポート後のLS

ステップ 3：テキストエディタでの証明書の確認

テキストエディタ（nano certs.pemなど）を使用して証明書を確認します。

この特定のシナリオでは、certs.pemには下位CA（発行側CA）のみが含まれていました。

この記事では、ステップ5以降で、ファイルcerts.pemに2つの証明書（1つのルートCAと1つのサブCA）が含まれているシナリオの手順について説明します。

certsビュー

ステップ 4：メモ帳での秘密キーの確認

テキストエディタ（nano certs.pemなど）を使用して、key.pemファイルの内容を確認します。

ステップ 5：CA証明書の分割

certs.pemファイルに2つの証明書（1つのルートCAと1つのサブCA）がある場合、検証のためにチェーンにサブCAだけを残してFMCにpfx形式の証明書をインポートできるようにするには、ルートCAを信頼チェーンから削除する必要があります。

certs.pemを複数のファイルに分割し、次のコマンドでcertsの名前をcacert-XXに変更します。

split -p "-----BEGIN CERTIFICATE-----" certs.pem cacert-

分割

分割後のLS

次に説明するコマンドを使用して、これらの新しいファイルに.pem拡張子を追加します。

for i in cacert-*;do mv "$i" "$i.pem";done

スクリプト名の変更

2つの新しいファイルを確認し、説明したコマンドを使用して、ルートCAとサブCAを含むファイルを決定します。

まず、id.pemファイル（ID証明書）の発行者を見つけます。

openssl x509 -in id.pem -issuer -noout

発行者ビュー

次に、2つのcacert – ファイル（CA証明書）のサブジェクトを見つけます。

openssl x509 -in cacert-aa.pem -subject -noout

openssl x509 -in cacert-ab.pem -subject -noout

件名チェック

前の図に示すように、id.pemファイルの発行者とSubjectが一致するcacertファイルは、後でPFX証明書の作成に使用されるサブCAです。

Subjectが一致しないcacertファイルを削除します。この場合、その証明書はcacert-aa.pemです。

rm -f cacert-aa.pem

手順 6：PKCS12ファイルでの証明書のマージ

サブCA証明書（この例では名前はcacert-ab.pem）と、ID証明書(id.pem)および秘密キー(key.pem)を新しいpfxファイルにマージします。このファイルはパスフレーズで保護する必要があります。必要に応じて、 cacert-ab.pemファイル名をファイル名に一致するように変更します。

openssl pkcs12 -export -in id.pem -certfile cacert-ab.pem -inkey key.pem -out new-cert.pfx

PFX作成

手順 7：FMCでのPKCS12ファイルのインポート

図に示すように、FMCでDevice > Certificatesの順に移動し、目的のファイアウォールに証明書をインポートします。

証明書の登録

新しい証明書の名前を挿入します。

登録

新しい証明書を追加し、登録プロセスによって新しい証明書がFTDに展開されるまで待機します。

新しい証明書

新しい証明書は、CAフィールドに赤い十字なしで表示される必要があります。

確認

このセクションでは、設定が正常に動作していることを確認します。

Windowsでは、.pfxファイルにID証明書のみが含まれていても、OSが証明書のチェーン全体を表示するという問題が発生する場合があります。この場合、ストアにsubCA、CAチェーンが含まれています。

.pfxファイル内の証明書のリストを確認するには、certutilやopensslなどのツールを使用できます。

certutil -dump cert.pfx

certutilは、.pfxファイル内の証明書の一覧を提供するコマンドラインユーティリティです。ID、SubCA、CAが含まれているチェーン全体を確認する必要があります（存在する場合）。

または、次のコマンドに示すように、opensslコマンドを使用できます。

openssl pkcs12 -info -in cert.pfx

CAおよびID情報とともに証明書のステータスを確認するには、アイコンを選択して、正常にインポートされたことを確認します。