Открытые/закрытые ключи RSA в YAML
Мне нужно сохранить пару ключей RSA в файле YAML, но все еще ограниченное понимание синтаксиса yaml и отсутствие примеров позволяет мне искать ответ.
Я только начну работать с тем, что у меня есть, но мне было интересно, сможет ли кто-нибудь быстро и кратко объяснить, как я могу хранить что-то подобное в ямле.
Ответы
Ответ 1
Вы можете хранить свои ключи в виде текста ( "ASCII-armored" /base 64 encoded). Из Википедии синтаксис для многострочных строк в 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.
Ответ 2
Начиная с 27 октября 2016 года, это первый результат в Google при поиске "yaml rsa key", поэтому я хотел бы добавить ответ на конкретный синтаксис, необходимый для ключей RSA в Yaml.
Если вы включите ключ в одну строку в файле yaml, проблем нет. Если вы хотите разбить его в разных строках для удобства чтения, и вы не можете принимать символы новой строки в сгенерированной строке, единственным вариантом, по-видимому, являются двойные кавычки с escape-кодами.
В моем случае мне понадобилась сгенерированная однострочная строка без пробелов, так как определение ключа использовалось механизмом шаблонов для вставки ключа в переменную script. Следующий синтаксис присоединяется к каждой строке без пробелов (обратите внимание на "\" в каждой строке для удаления строк перевода):
yourKey: "-----BEGIN PUBLIC KEY-----\
xxx...\
yyy...\
zzz...\
-----END PUBLIC KEY-----"
result: "-----BEGIN PUBLIC KEY-----xxx...yyy...zzz...-----END PUBLIC KEY-----"
Очень хорошую ссылку на форматы для литералов можно найти здесь на SO: fooobar.com/questions/12815/...
Ответ 3
Рекомендуется хранить ключи в файле yaml, создавая файлы pem
security:
publickeypemfile: /config/env/xyz.pem
keystorefile: /secret/pqr.jks
testmode: true
xyz.pem: |-
-----BEGIN PUBLIC KEY——
Line 1
Line 2
Line 3
……………………………………….
-----END PUBLIC KEY-----