2011-12-26 16 views
7

ho bisogno di memorizzare una coppia di chiavi RSA in un file YAML, ma una conoscenza ancora limitata della sintassi YAML e la mancanza di esempi mi ha ricerca di una risposta.RSA pubblica/chiavi private in YAML

mi limiterò a iniziare a lavorare con quello che ho, ma mi chiedevo se qualcuno potrebbe spiegare in modo rapido e conciso come avrei potuto salvare qualcosa di questa natura in YAML.

risposta

8

È possibile memorizzare le chiavi come testo ("ASCII-blindato"/codificato base 64). From Wikipedia, la sintassi per le stringhe multilinea in 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

come su una lista? Cioè 'script: - mkdir ~/.ssh/- echo $ SSH_KEY> ~/.ssh/id_rsa'? –

0

A partire dal 27-Ott-2016, questo è il primo risultato di Google per la ricerca di "chiave RSA YAML", quindi vorrei aggiungere una risposta sulla sintassi specifica necessaria per le chiavi RSA in Yaml.

Se si include la chiave in una sola riga nel file YAML, non ci sono problemi. Se si desidera dividerlo in righe diverse per la leggibilità e non è possibile accettare le nuove righe nella stringa generata, l'unica opzione sembra essere le doppie virgolette con i codici di escape.

Nel mio caso, avevo bisogno di una sola riga generato, non-spazi di stringa, in quanto la definizione chiave è stata utilizzata da un motore di template per inserire la chiave in una variabile script. La seguente sintassi si unirà ogni riga senza spazi (si prega di notare la '\' su ogni linea per rimuovere i ritorni a capo):

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

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

Un buon riferimento sui formati per letterali può essere trovato qui su SO: https://stackoverflow.com/a/21699210/4228798