> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/jp/endpoint-privilege-manager/policies/policy-reference/certificate-filter-certificationcheck.md).

# 証明書フィルター (CertificationCheck)

<figure><img src="/files/GPvJsCw6a4zArg8Erkza" alt=""><figcaption></figcaption></figure>

**対象:** JSONでKEPMポリシーを作成または確認するIT管理者向け。対象バイナリのコード署名証明書でポリシーの適用範囲を絞り込む必要がある場合にご参照ください。

## 概要 <a href="#overview" id="overview"></a>

`CertificationCheck` は、特定の証明書 (または複数の証明書) で署名されたバイナリを対象とする要求にのみポリシーを適用するフィルター配列です。組み込みの `CheckCertificate()` ルール式と組み合わせ、ポリシーの一致判定時に評価されます。

以下のポリシー種別でこのフィルターが評価されます。

* `FileAccess`
* `PrivilegeElevation`
* `HttpAccess`

その他のポリシー種別では、JSONにフィールドが含まれる場合があります (管理コンソールのデフォルト出力)。ただし、評価は行われません。

## JSON構造 <a href="#json-structure" id="json-structure"></a>

`CertificationCheck` は `UserCheck`、`MachineCheck`、`ApplicationCheck` と並ぶトップレベルの証明書ハッシュ文字列の配列で、`CheckCertificate()` を呼び出すルールエントリと組み合わせて使います。

```json
{
  "PolicyName": "Allow elevation for binaries signed by Vendor X",
  "PolicyType": "PrivilegeElevation",
  "Status": "enforce",
  "Rules": [
    {
      "RuleName": "CertificateCheck",
      "ErrorMessage": "Certificate hash is not included in this policy",
      "RuleExpressionType": "BuiltInAction",
      "Expression": "CheckCertificate()"
    }
  ],
  "CertificationCheck": [
    "HASH1",
    "HASH2"
  ]
}
```

フィルターを評価するにはルールエントリが必要です。管理コンソールから出力されるポリシーには、ルールエントリと空の `CertificationCheck: []` 配列がデフォルトで含まれます。

## マッチの意味 <a href="#match-semantics" id="match-semantics"></a>

| 構成                                                | 動作                                          |
| ------------------------------------------------- | ------------------------------------------- |
| `CertificationCheck: ["*"]`                       | 任意の証明書に一致。署名証明書を問わずポリシーを適用                  |
| `CertificationCheck: []` (空の配列)                   | 任意の証明書に一致。`["*"]` と同等 (管理コンソールのデフォルト)       |
| `CertificationCheck: ["HASH1"]`                   | 対象バイナリの証明書ハッシュが `HASH1` と一致する要求のみ           |
| `CertificationCheck: ["HASH1", "HASH2", "HASH3"]` | 配列内のいずれかのハッシュと一致 (OR論理)                     |
| 要求に証明書ハッシュがない (未署名バイナリ、またはハッシュ取得不可)               | `CertificationCheck` が `["*"]` または空でない限り非適用 |

ハッシュの比較は大文字小文字を区別しません (前処理時にハッシュは大文字に正規化されます)。

## 前処理に関する注意 <a href="#preprocessing-notes" id="preprocessing-notes"></a>

* `CertificationCheck` 内のハッシュ値はコレクションUIDではなく直接指定する文字列です。`UserCheck`、`MachineCheck`、`ApplicationCheck` と異なり、Keeperコレクションは参照されません。
* ハッシュは前処理時に大文字に正規化されます。配列を小文字または混在の大文字小文字で記述しても問題ありません。
* 前処理済みスナップショットは `currentPolicies.json` で確認できます。各ポリシーの解決済みハッシュ一覧については [JSONと拡張](/keeperpam/jp/endpoint-privilege-manager/policies/policy-reference/policy-json-and-extension.md) をご参照ください。

## 他のフィルターとの組み合わせ <a href="#combining-with-other-filters" id="combining-with-other-filters"></a>

`CertificationCheck` は、他の6つの組み込みルール式 (`CheckUser`、`CheckMachine`、`CheckFile`、`CheckDate`、`CheckTime`、`CheckDay`) とあわせて評価されます。ルール結果の組み合わせ方は、ポリシーのトップレベル `Operator` フィールド (`"And"` / `"Or"`) で指定します。

特定の証明書と特定のアプリケーションパスの両方にポリシーを適用する場合は、`ApplicationCheck` と `CertificationCheck` の両方を設定し、`Operator: "And"` のままにしてください (管理コンソールのデフォルト)。

## 例 <a href="#example" id="example"></a>

#### 特定の署名者のバイナリにだけ昇格を許可する <a href="#allow-elevation-only-for-a-specific-signer" id="allow-elevation-only-for-a-specific-signer"></a>

```json
{
  "PolicyName": "Elevate Vendor X installers",
  "PolicyType": "PrivilegeElevation",
  "PolicyId": "example-policy-id",
  "Status": "enforce",
  "Operator": "And",
  "Actions": {
    "OnSuccess": { "Controls": ["ALLOW"] },
    "OnFailure": { "Command": "" }
  },
  "Rules": [
    { "RuleName": "UserCheck",        "RuleExpressionType": "BuiltInAction", "Expression": "CheckUser()" },
    { "RuleName": "MachineCheck",     "RuleExpressionType": "BuiltInAction", "Expression": "CheckMachine()" },
    { "RuleName": "ApplicationCheck", "RuleExpressionType": "BuiltInAction", "Expression": "CheckFile(false)" },
    { "RuleName": "CertificateCheck", "RuleExpressionType": "BuiltInAction", "Expression": "CheckCertificate()", "ErrorMessage": "Certificate hash is not included in this policy" }
  ],
  "UserCheck": ["*"],
  "MachineCheck": ["*"],
  "ApplicationCheck": ["*"],
  "CertificationCheck": [
    "A1B2C3D4E5F6..."
  ],
  "DayCheck": [],
  "DateCheck": [],
  "TimeCheck": [],
  "Extension": {}
}
```

このポリシーでは、任意のユーザー、任意のマシン、任意のアプリケーションパスでの特権昇格を許可します。ただし、対象バイナリが一覧のハッシュと一致する証明書で署名されている場合に限ります。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/endpoint-privilege-manager/policies/policy-reference/certificate-filter-certificationcheck.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
