.NET エージェントの秘密キーとクライアント証明書

相互 SSL 認証を有効にするには、.NET エージェントでローカルコンピュータの個人証明書ストアからクライアント証明書と秘密キーをロードします。インストゥルメントされたアプリケーション ID で、クライアント証明書の秘密キーにアクセスできる必要があります。

証明書ストアへの秘密キーのインポート

秘密キーを証明書ストアにインポートするには、次の手順を実行します。

  1. Microsoft 管理コンソール(MMC)から、[Certificates (Local computer)] > [Personal] > [Certificates] の順に移動して展開します。
  2. [Certificates] を右クリックします。
  3. [All Tasks] > [Import] の順に展開します。
  4. [Import] パネルから、[Filter] を [All] または [.pfx] ファイルに変更します。
  5. * .pfx ファイルを選択します。
  6. パスワードを入力し、インポート手順を完了します。

デフォルトでは、IIS アプリケーション(フルフレームワークおよび処理中/処理外にホストされる .NET Core)の場合、IIS_IUSRS

秘密キーへの読み取りアクセス権を追加するには、次の手順を実行します。

デフォルトでは、IIS アプリケーション(フルフレームワークおよび処理中/処理外にホストされる .NET Core)の場合、IIS_IUSRS秘密キーへの読み取りアクセス権を追加するには、次の手順を実行します。

  1. Microsoft 管理コンソール(MMC)から、[Certificates (Local computer)] > [Personal] > [Certificates] の順に移動して展開します。
  2. [Certificates] を右クリックします。
  3. [All Tasks] > [Manage Private Keys] の順に展開してポップアップを表示します。
  4. 必要に応じてアプリケーション ID またはユーザグループを追加し、秘密キーへの読み取りアクセス権を追加します。

証明書属性の設定

証明書ストアから証明書を使用するには、 証明書として証明書のサムプリントを追加する必要があります。

証明書のサムプリントを取得するには、次の手順を実行します。


  1. Microsoft 管理コンソール(MMC)から、Certificates (Local computer) > Personal > Certificates の順に移動して展開します。
  2. 証明書をダブルクリックします。
  3. [Details] タブで、サムプリントを特定します。
  4. サムプリントを証明書として追加します。
    MSI エージェントの場合

    config.xml に追加します。

    <controller host="controller.host.name" port="443" ssl="true" enable_tls12="true">
    <application name="application.name" />
    <account name="account.name" password="account.password" />
    <ssl-mutual-auth enabled="true" certificate="certificate.thumbprint"></ssl-mutual-auth>
    </controller>
    スタンドアロンエージェントの場合

    次のファイルに追加します。

    {
    "controller": {
    "host": "controller.host.name",
    "port": 443,
    "ssl": true,
    "enable_tls12" : true,
    "account": "account.name",
    "password": "account.password",
    "ssl_mutual_auth":{
    "enabled": true,
    "certificate" : "certificate.thumbprint"
    }
    }
    Azure App Services(Azure PaaS)の場合

    次のファイルに追加します。

    {
    "controller": {
    "host": "controller.host.name",
    "port": 443,
    "ssl": true,
    "enable_tls12" : true,
    "account": "account.name",
    "password": "account.password",
    "ssl_mutual_auth":{
    "enabled": true,
    "certificate" : "certificate.thumbprint"
    }
    }

    Azure App Services では、Azure ポータルを使用してクライアント証明書を Azure にインポートできます。Azure ポータルインポートされた証明書をクライアント認証に使用できるようにするには、クライアント証明書のサムプリントを WEBSITE_LOAD_CERTIFICATES 環境変数で設定する必要があります。