公证人客户端配置文件

预计阅读时间:5分钟

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

Notary客户端的配置文件通常位于~/.notary/config.json,但是可以使用-c--configFile命令行标志来指定其他配置文件的路径 。

文件概述

除了配置文件格式之外,请参阅Notary客户端为便于使用而可以使用的可选密码 环境变量

这是完整的客户端配置文件示例;单击顶级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:默认为https://notary.docker.io。此配置选项可以用命令行标记-s或--server覆盖。
root_ca

包含用于验证公证服务器的TLS证书的根CA的文件的路径,例如,如果该文件是自签名的。该路径是相对于配置文件目录的。

可以使用命令行标志`--tlscacert`覆盖此配置选项,命令行标志将指定相对于当前工作目录的路径,在该目录中调用了Notary客户端。

tls_client_cert

与公证服务器相互TLS使用的客户端证书的路径。必须tls_client_key 与否一起提供。该路径是相对于配置文件目录的。

可以使用命令行标志`--tlscert`覆盖此配置选项,该标志将指定相对于当前工作目录的路径,在该目录中将调用Notary客户端。

tls_client_key

客户端密钥的路径,用于与公证服务器进行双向TLS。必须tls_client_cert 与否一起提供。该路径是相对于配置文件目录的。

此配置选项可以用命令行标志“ --tlskey”覆盖,该标志将指定相对于当前工作目录的路径,在该目录中将调用Notary客户端。

trust_pinning部分(可选)

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

此部分是可选的,默认情况下,Notary使用HTTPS上的TOFU,并在下载的根文件中使用信任证书。

在本节中,可以提供要固定到的特定证书,或提供要固定到的CA作为GUN的信任根。可以指定多个部分,但是固定证书的验证优先级最高,其次是固定CA,其次是TOFUS(HTTPS上的TOFU)。下图描述了此验证流程:

验证流程

即使指定了多个部分,也仅使用一个信任锁定选项来验证GUN,并且任何验证失败都会导致回购自举失败。

范围 必需的 描述
certs

将GUN映射到要固定到的证书ID。两者都是JSON对象中的字符串。

ca

GUN前缀到包含用于验证根文件中的证书的根CA文件的文件路径的映射。该文件可以包含多个根证书,捆绑在单独的PEM块中。该路径是相对于配置文件目录的。

disable_tofu

布尔值,用于确定对集合的根文件进行引导验证时是否在首次使用时使用信任。默认情况下,这会使TOFU保持打开状态。

环境变量(可选)

以下包含签名密钥密码短语的环境变量可用于促进Notary客户端CLI的交互。如果提供的话,这些密码最初用于签署TUF元数据。如果密码不正确,将提示您输入正确的密码。

环境变量 描述
NOTARY_ROOT_PASSPHRASE 根/离线密钥密码短语
NOTARY_TARGETS_PASSPHRASE 目标(在线)关键密码短语
NOTARY_SNAPSHOT_PASSPHRASE 快照(在线)密钥密码
NOTARY_DELEGATION_PASSPHRASE 委托(在线)密钥密码
NOTARY_AUTH 公证服务器凭据:<username>:<password>以base64编码

如果提供了密码,NOTARY_DELEGATION_PASSPHRASE 则尝试使用公证尝试签名的所有委派角色的密码。

码头工人公证人公证人客户公证人服务器公证人服务器公证人签名人公证人签名人