.NET エージェントがコントローラとのセキュアな(SSL)接続を確立すると、.NET エージェントは .NET フレームワークに組み込まれたデフォルトのメカニズムを使用して、ローカルの信頼ストアに依存するコントローラ(サーバ)証明書を検証します。そのため、コントローラ証明書は、公的に信頼されたいずれかの認証局によって署名される必要があります。

したがって、コントローラで以下を使用する場合、

  • 自己署名証明書、または
  • カスタム認証局によって署名された証明書

SSL 接続は、以下が完了するまで確立できません。

  • 自己署名証明書、または
  • カスタム認証局がローカルの信頼ストアに手動で追加される

コントローラが公的に信頼された認証局によって署名された証明書を使用する場合、追加のセットアップは必要ありません。

証明書を手動でローカルの信頼ストアに追加しない場合は、.NET エージェントを設定してコントローラの信頼されたカスタム証明書を使用し、セキュアな接続を自動的に確立できます。 

制限事項

.NET ランタイムの信頼されたカスタム証明書の検証は、次の制限付きでサポートされています。

  • .NET Core 2.0 以降
  • .NET Framework 4.7.2 以降
  • .NET Standard 2.1 以降

前のバージョンの .NET を使用してコンパイルされたアプリケーションは、.NET ランタイムが上記の制限以降であれば使用できます。

ランタイムの制限に達した場合は、次のいずれかを実行できます。

  • .NET ランタイムをサポートされているバージョンにアップグレードする。または、
  • コントローラのカスタム証明書をローカルの信頼ストアに追加し、機能を無効にしてから、デフォルトの検証メカニズムに基づいてコントローラへの SSL 接続の使用を続行する。

サポートされる構成

コントローラの信頼されたカスタム証明書を設定するには、次のいずれかを指定します。

  • 1 つの証明書ファイルへのパス:ファイルには、次のいずれかの形式で 1 つまたは複数の有効な証明書を含めることができます。
    • Base-64 Encoded X.509(.cer)
    • DER Encoded Binary X.509(.cer)
    • PKCS 7(.p7b)
    • PKCS 12(.pfx)

または

  • 複数の証明書ファイルを含むフォルダ:1 つのフォルダに、1 つまたは複数の証明書を含むファイルを複数含めることができます。フォルダにはサブフォルダが含まれる場合があります。フォルダ内のすべてのファイルに有効な証明書が含まれている必要があることを除き、構造上の制限はありません。有効な証明書ではないファイルが 1 つでもある場合、すべてのファイルが無視されます。 

上記設定のいずれか 1 つのみを選択します。証明書ファイルと証明書フォルダの両方を設定すると、設定で証明書ファイルのみが使用されることを警告するアラートが表示されます。 

証明書ファイルに秘密キーを指定する必要はありません。公開キーのみ必要です。AppDynamics では、提供される証明書の機密情報を公開していません。外部ソースにファイルを提供する場合は注意してください。

スタンドアロン Windows エージェントの設定

config.json ファイルを設定します。

{
	"controller": {
		"certfile": "C:\certs\certificate.crt",
		"certdir": "C:\certs\",
	}
}
BASH

Environment Variablesスタンドアロン Windows エージェントに使用

コマンドラインを使用して、次の環境変数を設定し、config.json ファイルを上書きします。

APPDYNAMICS_CONTROLLER_SSL_CERTFILE=C:\certs\certificate.crt
APPDYNAMICS_CONTROLLER_SSL_CERTDIR=C:\certs\
BASH

エージェント MSI エージェントの設定

環境変数をオーバーライドせずに config.json ファイルを設定します。

<appdynamics-agent xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <controller ssl-certificate-file="C:\certs\certificate.crt" ssl-certificate-directory="C:\certs\">
    ...
  </controller>
  ...
</appdynamics-agent>
XML

Linux .NET エージェント 20.11.x 以下とのパリティの違い

Linux .NET エージェント 20.11.x 以下との既存のパリティの違いは次のとおりです。

  • 証明書のファイル形式が拡張されました。
  • 複数の証明書がファイルでサポートされています。
  • ファイル名の制約はありません。
  • フォルダ構造の制約はありません。
  • フルフレームワークがサポートされています。
  • コントローラ証明書の完全なチェーンを提供する必要はありません。エンドリーフ証明書、カスタム認証局証明書、またはその両方を使用して .NET エージェントの信頼を設定できます。どちらの場合も便利です。