2014-07-23 19 views
6

Mi sono già guardato intorno e, poiché non sono esperto di sicurezza o crittografia, sono ancora confuso su come implementare la crittografia nel mio programma. Ho bisogno di un server per accedere al proprio account gitHub per aggiornare i file di codice con intestazioni speciali. L'unico hang-up che ho adesso è come memorizzare/recuperare le credenziali del server.Memorizzazione delle credenziali per l'uso automatico

PushOptions push = new PushOptions 
{ 
    Credentials = 
    new UsernamePasswordCredentials 
    { 
     Password = "password", 
     Username = "Username" 
    } 
}; 

Come crittografare queste credenziali per l'archiviazione? So che è una cattiva idea memorizzarli nel codice come nell'esempio, e sarebbe una cattiva idea anche memorizzarli in un file non criptato.

Inoltre, l'unica interazione utente desiderata si verifica quando compilano e configurano il programma sul server. È come un cronjob su un server Linux, nel caso questo fa la differenza. Un altro dettaglio da notare, sto usando libgit2sharp, ma in precedenza utilizzavo uno script bash e ssh per l'autenticazione per i test.

+0

Si potrebbe voler esaminare [OAuth] (https://developer.github.com/v3/oauth/) –

+0

, ma libgit2sharp non ha un'opzione per l'utilizzo di OAuth per l'autenticazione che posso trovare. – maliddle

+1

Ho modificato il tuo titolo. Per favore vedi, "[Le domande dovrebbero includere" tag "nei loro titoli?] (Http://meta.stackexchange.com/questions/19190/)", dove il consenso è "no, non dovrebbero". –

risposta

0

La soluzione migliore che ho trovato è semplicemente inserirli nel file di registro, poiché il server sarà già protetto da password e potrei farlo in modo che solo un utente (e credo che sia root) sia in grado di leggerli ma poche persone potrebbero sapere che il server esiste e solo uno dovrebbe sapere dove trovarlo esattamente e avere le credenziali per farlo.

Nonostante la mancanza di sicurezza, raggiunge lo scopo e ha ancora abbastanza sicurezza. Se qualcuno non desiderato ottiene le credenziali, è abbastanza facile da resettare un paio di password in modo da perdere l'accesso all'account gitHub.