Доверие Docker: не удалось повернуть доверие к новому доверенному корню: не удалось проверить данные с текущими доверенными сертификатами

Мне пришлось добавить

export GOROOT=/usr/local/Cellar/go/1.10.1/libexec

в мой ~ / .bash_profile в Mac OS X

4
задан Tim 18 March 2019 в 12:00
поделиться

2 ответа

Я все еще изучаю докер, но вы уверены, что это root.json , в который он смотрит, а не root.json .

Исходя из приведенной здесь конфигурации, он должен искать в roots.json список доверенных сертификатов.

Возможно, вы нажимаете не на тот файл, чтобы определить свои корни, или у вас может быть просто опечатка в вашем посте.

В любом случае это полезно: https://github.com/cirocosta/docker-cli/blob/master/vendor/github.com/theupdateframework/notary/trustpinning/certs.go

Как эти ошибки генерируются, видно там с комментариями, почему эти ошибки происходят.

Например, относительно вашей ошибки ротации ключей:

// ErrRootRotationFail возвращается, когда нам не удается выполнить полную ротацию корневого ключа // из-за невозможности добавить новый корневой сертификат или удалить старые

0
ответ дан 18 March 2019 в 12:00
поделиться

Это только локально поврежденное состояние, верно? Вы должны быть в состоянии исправить это с помощью нотариуса server.example.com/test1.

Исправление, которое я хочу получить, - это ленивая инициализация, когда больше не нужно явно вызывать нотариус init. В рамках отложенной инициализации мы всегда запрашиваем у сервера существующие данные, прежде чем предположить, что они должны быть созданы локально.

Более короткое исправление может заключаться в проверке сервера или, если нет сетевого подключения, локального кэша для существующих данных. На данный момент я считаю, что init предполагает, что репо не существует, и перезаписывает любой существующий кеш.

Также, пожалуйста, убедитесь, что настроили DNS и сделали запись хоста в файле хоста.


Для целей политики подписи UCP, настроенной через раздел «Доверие к контенту» в настройках администратора, необходимо, чтобы мы могли идентифицировать изображение, подписанное членом организации UCP. Мы делаем это, используя клиентские пакеты, которые вы можете загрузить для своей учетной записи пользователя из UCP. Пакеты клиента содержат файл «cert.pem», представляющий собой сертификат x509, подписанный центром сертификации UCP, и файл «key.pem», представляющий собой закрытый ключ, сопоставленный с сертификатом.

Вам необходимо создать делегирование «цели / релизы» и еще одну делегацию, например, «Target / my_user» и добавить «cert.pem» в качестве открытого ключа подписи для обоих. Когда другая служба затем проверяет данные доверия, они могут определить, что сертификат принадлежит члену организации UCP, и их подписи должны быть доверенными. Затем вам нужно импортировать key.pem, чтобы он был доступен для подписи при нажатии.

Документация 23 предоставляет больше информации и специальных команд для выполнения, в частности, раздел «Инициализация репо».

0
ответ дан Faiz Fareed 18 March 2019 в 12:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: