.env 文件绕开签名验证安全限制。
使用场景:
- 一经同意,Dify 管理员可以为插件添加由开发者发送的签名。
- 插件开发者可以为他们的插件添加签名,并将其与公钥一起发布给无法禁用签名验证的 Dify 管理员。
生成用于签名和验证的密钥对
使用以下命令生成新的密钥对,用于添加和验证插件签名:- 私钥:
your_key_pair.private.pem - 公钥:
your_key_pair.public.pem
为插件添加签名并验证
运行以下命令为插件添加签名。请注意,你需要指定待签名的插件文件和私钥:signed:your_plugin_project.signed.difypkg
你可以使用以下命令验证插件是否已正确签名。运行命令时需要指定已签名的插件文件和公钥:
如果省略公钥参数,验证将使用 Dify 市场公钥。在这种情况下,对于任何未从 Dify 市场下载的插件文件,签名验证将失败。
启用第三方签名验证
Dify 管理员可以在安装插件前强制使用预先批准的公钥进行签名验证。放置公钥
将用于签名的私钥对应的公钥放在插件守护程序可以访问的位置。 例如,在docker/volumes/plugin_daemon 下创建 public_keys 目录,并将公钥文件复制到对应路径:
环境变量配置
在plugin_daemon 容器中,配置以下环境变量:
THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED- 启用第三方签名验证。
- 将此项设置为
true以启用此功能。
THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS- 指定用于签名验证的公钥文件路径。
- 你可以列出多个公钥文件,用逗号分隔。
docker-compose.override.yaml) 示例:
请注意,
docker/volumes/plugin_daemon 在 plugin_daemon 容器中被挂载到 /app/storage。确保在 THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS 中指定的路径对应于容器内的路径。编辑此页面 | 提交问题