2011-12-26 294 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