客户端配置 | Client configuration (Notary)

公证客户配置文件

本文档适用于希望促进 CLI 交互或指定自定义选项的公证人客户端的高级用户。

公证客户端的配置文件通常驻留在~/.notary/config.json,但可以使用-c--configFile命令行标志指定不同配置文件的路径。

该文件的概述

除了配置文件格式之外,请查看公证人客户端可以使用的可选密码环境变量以便使用。

这是一个完整的客户端配置文件示例; 请点击顶层的 JSON 键以了解更多关于与该键相对应的配置部分:

{ "trust_dir" : "~/.docker/trust", "remote_server": { "url": "https://my-notary-server.my-private-registry.com", "root_ca": "./fixtures/root-ca.crt", "tls_client_cert": "./fixtures/secure.example.com.crt", "tls_client_key": "./fixtures/secure.example.com.crt" }, "trust_pinning": { "certs": { "docker.com/notary": ["49cf5c6404a35fa41d5a5aa2ce539dfee0d7a2176d0da488914a38603b1f4292"] } } }

trust_dir 部分(可选)

trust_dir其中的元数据 TUF 和私有密钥将被存储指定的位置(为绝对路径或相对于配置文件的目录的路径)。

这通常是默认的~/.notary,但是指定~/.docker/trust促进与内容信任的互操作性。

请注意,该选项可以用命令行标志覆盖--trustDir

remote_server 部分(可选)

remote_server指定如何连接到公证服务器下载元数据更新和发布元数据的变化。

远程服务器示例:

"remote_server": { "url": "https://my-notary-server.my-private-registry.com", "root_ca": "./fixtures/root-ca.crt", "tls_client_cert": "./fixtures/secure.example.com.crt", "tls_client_key": "./fixtures/secure.example.com.crt" }

参数需要描述
网址(url)没有公证服务器的URL:默认为该配置选项可以用命令行标志-s或--server。
root_ca没有包含根CA的文件的路径,用于验证公证服务器的TLS证书(例如,是否为自签名)。该路径相对于配置文件的目录。该配置选项可以用命令行标志覆盖,该标志--tlscacert将指定相对于公证客户端被调用的当前工作目录的路径。
tls_client_cert没有客户端证书的路径,用于与公证服务器进行相互TLS。必须与tls_client_key一起提供或根本不提供。该路径相对于配置文件的目录。该配置选项可以用命令行标志覆盖,该标志--tlscert将指定相对于公证客户端被调用的当前工作目录的路径。
tls_client_key没有客户端密钥用于与公证服务器进行相互TLS的路径。必须与tls_client_cert一起提供或根本不提供。该路径相对于配置文件的目录。该配置选项可以用命令行标志覆盖,该标志--tlskey将指定相对于公证客户端被调用的当前工作目录的路径。

trust_pinning 部分(可选)

trust_pinning指定如何引导信任的公证客户的信任集的根目录。

此部分是可选的,默认情况下,公证人将通过 HTTPS 使用 TOFU,并在所下载的根文件中信任证书。

在本节中,可以提供特定的证书以供引脚连接,或者 CA 可以将其作为 GUN 的信任根。可以指定多个部分,但固定证书将以最高优先级进行验证,然后是固定 CA,然后是 TOFUS(通过 HTTPS 的 TOFU)。下图描述了此验证流程:

</img>

即使指定了多个部分,也只会使用一个信任钉住选项来​​验证 GUN,任何验证失败都会导致回购的引导失败。

参数需要描述
certs没有将GUN映射到要插入的证书ID。两者都是JSON对象中的字符串。
ca没有将GUN前缀映射到包含根CA文件的文件路径,用于验证根文件中的证书。该文件可以包含多个根证书,捆绑在单独的PEM块中。该路径相对于配置文件的目录。
disable_tofu没有在对集合的根文件进行引导验证时,确定是否在首次使用时使用信任的布尔值。这会默认保持TOFU。

环境变量(可选)

包含签名密钥密码的以下环境变量可以用于帮助公证客户端 CLI 交互。如果提供,这些密码将最初用于签署 TUF 元数据。如果密码不正确,系统将提示您输入正确的密码。

环境变量描述
NOTARY_ROOT_PASSPHRASEroot / offline密钥短语
NOTARY_TARGETS_PASSPHRASE目标(在线)密钥密码
NOTARY_SNAPSHOT_PASSPHRASE快照(在线)密钥密码
NOTARY_DELEGATION_PASSPHRASE代表团(在线)密钥密码

请注意,如果提供,NOTARY_DELEGATION_PASSPHRASE将尝试为公证人尝试签署的所有代表团角色输入密码。