Открытые / закрытые ключи RSA в YAML - PullRequest
9 голосов
/ 26 декабря 2011

Мне нужно сохранить пару ключей RSA в файле YAML, но все еще ограниченное понимание синтаксиса yaml и отсутствие примеров заставляют меня искать ответ.

Я просто начну работать с чемЯ понял, но мне было интересно, если бы кто-нибудь мог быстро и кратко объяснить, как я могу хранить что-то подобное в yaml.

Ответы [ 2 ]

13 голосов
/ 26 декабря 2011

Вы можете сохранить свои ключи в виде текста («ASCII-защита» / кодировка base 64). Из Википедии синтаксис многострочных строк в YAML:

- title: An example multi-line string in YAML
  body : |
    This is a multi-line string.
    "special" metacharacters may
    appear here. The extent of this string is
    indicated by indentation.
5 голосов
/ 27 октября 2016

По состоянию на 27 октября 2016 года это первый результат в Google при поиске «ключа yaml rsa», поэтому я хотел бы добавить ответ о конкретном синтаксисе, необходимом для ключей RSA в Yaml.

Если вы включите ключ в одну строку в файле yaml, проблем не будет. Если вы хотите разделить его на разные строки для удобства чтения, и вы не можете принять новые строки в сгенерированной строке, единственная опция - это двойные кавычки с escape-кодами.

В моем случае мне потребовалась сгенерированная однострочная строка без пробелов, поскольку определение ключа использовалось механизмом шаблонов для вставки ключа в переменную сценария. Следующий синтаксис объединит каждую строку без пробелов (обратите внимание на '\' на каждой строке для удаления новых строк):

    yourKey: "-----BEGIN PUBLIC KEY-----\
      xxx...\
      yyy...\
      zzz...\
      -----END PUBLIC KEY-----"

    result: "-----BEGIN PUBLIC KEY-----xxx...yyy...zzz...-----END PUBLIC KEY-----"

Очень хорошая ссылка на форматы для литералов может быть найдена здесь на SO: https://stackoverflow.com/a/21699210/4228798

...