Пароль хранилища ключей? А? - PullRequest
1 голос
/ 30 января 2020

Я пытаюсь создать подписанный URL GCP, используя инструкции здесь . Когда я запускаю команду gsutil для создания моего подписанного URL-адреса, мне сразу же предлагается ввести мой «пароль хранилища ключей». Итак, это:

gsutil signurl -d 10m my-private-key.json gs://my-storage-bucket/index.html

приводит к этому:

Keystore password: [I enter a wrong password]
Encountered an error while refreshing access token. If you are using a service account,
please verify that the gs_service_key_file field in your config file(s), /Users/my-user/.boto, /Users/my-user/.config/gcloud/legacy_credentials/my-gcp-user-email/.boto, is correct.

Честно говоря, я не имею ни малейшего представления о том, какой пароль у моего хранилища ключей или даже о каком хранилище ключей идет речь. Это локальное хранилище ключей Ma c? Это хранилище ключей GCP? Что-то другое?

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

1 Ответ

2 голосов
/ 30 января 2020

Вот что документация signurl говорит:

gsutil signurl [-c <content_type>] [-d <duration>] [-m <http_method>] \
   [-p <password>] [-r <region>] keystore-file url...

[...]

gsutil signurl <private-key-file> gs://some-bucket/some-object/

Команда signurl использует приватный ключ для учетной записи службы (аргумент '') для генерации криптографической подписи c для сгенерированного URL. Файл закрытого ключа должен быть в формате PKCS12 или JSON. Если закрытый ключ зашифрован, подписанная команда url запросит фразу-пароль, используемую для защиты файла секретного ключа (по умолчанию notasecret). Для получения дополнительной информации о создании закрытого ключа для использования с командой signurl см. Документацию по аутентификации.

Итак, первый аргумент после signurl, который в вашем вопросе равен my-private-key.json, является Хранилище ключей. Он содержит закрытый ключ.

Обычно мы шифруем закрытые ключи, чтобы их было сложнее украсть. Поэтому, когда вы создали my-private-key.json, вас, вероятно, попросили ввести ключевую фразу, и она использовалась для шифрования закрытого ключа.

Но gsutil необходимо расшифровать закрытый ключ, прежде чем он сможет использовать его для подписи ваш URL. Поэтому gsutil нужна фраза-пароль, которая использовалась для шифрования закрытого ключа. Вам нужно ввести эту фразу в приглашении Keystore password:. Если вы не помните парольную фразу, которую использовали для создания закрытого ключа, вам нужно будет создать новый закрытый ключ.

(Возможно, эта фраза на самом деле «notasecret»?)

...