2011-12-26 683 views
7

我需要将一个RSA密钥对存储在一个YAML文件中,但对yaml语法仍然有限的理解以及缺少示例让我寻找答案。YAML中的RSA公钥/私钥

我刚开始使用我的工作,但我想知道如果有人能够快速简洁地解释我如何在yaml中存储这种性质的东西。

回答

8

您可以将密钥存储为文本(“ASCII-armored”/ base 64编码)。 From Wikipedia,在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. 
+0

列表如何?即'script: - mkdir〜/ .ssh/- echo $ SSH_KEY>〜/ .ssh/id_rsa'? – 2015-11-16 11:18:15

0

由于27-OCT-2016,这是谷歌的第一个结果为“YAML RSA密钥”搜索的时候,所以我想补充一个答案关于Yaml中RSA密钥所需的特定语法。

如果您在yaml文件的单行中包含密钥,则不存在任何问题。如果您想将其拆分为不同的行以提高可读性,并且不能在生成的字符串中接受换行符,则唯一选项似乎是带有换码的双引号。

就我而言,我需要一个生成的单行无空格字符串,因为模板引擎正在使用键定义将键插入脚本变量。下面的语法将加入不带空格的每一行(请注意,每行的“\”去除换行符):

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