客户端配置 | 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_PASSPHRASE | root / offline密钥短语 |
NOTARY_TARGETS_PASSPHRASE | 目标(在线)密钥密码 |
NOTARY_SNAPSHOT_PASSPHRASE | 快照(在线)密钥密码 |
NOTARY_DELEGATION_PASSPHRASE | 代表团(在线)密钥密码 |
请注意,如果提供,NOTARY_DELEGATION_PASSPHRASE
将尝试为公证人尝试签署的所有代表团角色输入密码。