> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-add-new-agent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# サードパーティ署名検証用のプラグイン署名

> このドキュメントでは、Dify Community Editionでサードパーティ署名検証機能を有効化して使用する方法について説明します。キーペアの生成、プラグインの署名と検証、環境設定の手順を含み、管理者がDify Marketplaceで入手できないプラグインを安全にインストールできるようにします。

<Note> ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/develop-plugin/publishing/standards/third-party-signature-verification)を参照してください。</Note>

***

## title:

<Warning>この機能はDify Community Editionでのみ利用可能です。サードパーティ署名検証は現在Dify Cloud Editionではサポートされていません。</Warning>

サードパーティ署名検証により、Dify管理者は署名検証を完全に無効化することなく、Dify Marketplaceに掲載されていないプラグインのインストールを安全に承認できます。これは例えば以下のシナリオをサポートします：

* Dify管理者は、開発者から送信されたプラグインを承認後、署名を追加できます。
* プラグイン開発者は、自分のプラグインに署名を追加し、署名検証を無効化できないDify管理者向けに公開鍵と一緒に公開できます。

Dify管理者とプラグイン開発者の両方が、事前に生成されたキーペアを使用してプラグインに署名を追加できます。さらに、管理者はプラグインのインストール時に特定の公開鍵を使用した署名検証を強制するようにDifyを設定できます。

## 署名と検証用のキーペア生成

プラグインの署名を追加および検証するための新しいキーペアを以下のコマンドで生成します：

```bash theme={null}
dify signature generate -f your_key_pair
```

このコマンドを実行すると、現在のディレクトリに2つのファイルが生成されます：

* **秘密鍵**: `your_key_pair.private.pem`
* **公開鍵**: `your_key_pair.public.pem`

秘密鍵はプラグインの署名に使用し、公開鍵はプラグインの署名検証に使用します。

<Warning>秘密鍵は安全に保管してください。漏洩した場合、攻撃者が任意のプラグインに有効な署名を追加でき、Difyのセキュリティが侵害される可能性があります。</Warning>

## プラグインへの署名追加と検証

以下のコマンドを実行してプラグインに署名を追加します。**署名するプラグインファイル**と**秘密鍵**を指定する必要があることに注意してください：

```bash theme={null}
dify signature sign your_plugin_project.difypkg -p your_key_pair.private.pem
```

コマンドを実行すると、同じディレクトリに元のファイル名に`signed`が追加された新しいプラグインファイルが生成されます：`your_plugin_project.signed.difypkg`

このコマンドを使用して、プラグインが正しく署名されていることを検証できます。ここでは、**署名済みプラグインファイル**と**公開鍵**を指定する必要があります：

```bash theme={null}
dify signature verify your_plugin_project.signed.difypkg -p your_key_pair.public.pem
```

<Info>公開鍵引数を省略した場合、検証にはDify Marketplace公開鍵が使用されます。その場合、Dify Marketplaceからダウンロードされていないプラグインファイルでは署名検証が失敗します。</Info>

## サードパーティ署名検証の有効化

Dify管理者は、プラグインをインストールする前に、事前承認された公開鍵を使用した署名検証を強制できます。

### 公開鍵の配置

署名に使用した秘密鍵に対応する**公開鍵**を、プラグインデーモンがアクセスできる場所に配置します。

例えば、`docker/volumes/plugin_daemon`の下に`public_keys`ディレクトリを作成し、公開鍵ファイルをそこにコピーします：

```bash theme={null}
mkdir docker/volumes/plugin_daemon/public_keys
cp your_key_pair.public.pem docker/volumes/plugin_daemon/public_keys
```

### 環境変数の設定

`plugin_daemon`コンテナで、以下の環境変数を設定します：

* `THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED`
  * サードパーティ署名検証を有効にします。
  * 機能を有効にするには`true`に設定します。
* `THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS`
  * 署名検証に使用する公開鍵ファイルのパスを指定します。
  * カンマで区切って複数の公開鍵ファイルをリストできます。

以下は、これらの変数を設定するDocker Composeオーバーライドファイル（`docker-compose.override.yaml`）の例です：

```yaml theme={null}
services:
  plugin_daemon:
    environment:
      FORCE_VERIFYING_SIGNATURE: true
      THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED: true
      THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS: /app/storage/public_keys/your_key_pair.public.pem
```

<Info>`docker/volumes/plugin_daemon`は`plugin_daemon`コンテナ内の`/app/storage`にマウントされることに注意してください。`THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS`で指定するパスがコンテナ内のパスに対応していることを確認してください。</Info>

これらの変更を適用するには、Difyサービスを再起動します：

```bash theme={null}
cd docker
docker compose down
docker compose up -d
```

サービスを再起動すると、現在のCommunity Edition環境でサードパーティ署名検証機能が有効になります。

***

[Edit this page](https://github.com/langgenius/dify-docs/edit/main/en/develop-plugin/publishing/standards/third-party-signature-verification.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)
