No, non dovrebbe.
Una chiave ha specifiche differenti al codice sorgente o al programma.
Il prodotto non dovrebbe funzionare senza una chiave
È specifica del prodotto che non funziona senza una chiave. Se includi la chiave nella distribuzione, distruggi efficacemente il suo utilizzo.
Una chiave dovrebbe essere facilmente sostituibile.
In effetti, a volte è necessario sostituirlo regolarmente. E a volte una distribuzione di una nuova versione è un processo lungo e difficile. Combina questo con la necessità di ricostruire il tuo progetto per ottenere una nuova chiave, e hai la ricetta per un mal di testa perenne. Se non richiede una ricostruzione per ottenere la nuova chiave, allora c'è nessun motivo per inserire la chiave in git - non è usata per costruire, raggruppare o testare la tua app .
Considera i controlli del codice.
Un revisore deve avere accesso al codice sorgente per verificare la logica (e talvolta un programma di lavoro). Sono non che dovrebbero vedere (e quindi essere in grado di memorizzare) le tue chiavi private. Non ho intenzione di capire se è realistico memorizzare una chiave a 2048 bit semplicemente guardandola, a volte le recensioni vengono fatte da remoto.
Una chiave non ha bisogno di una cronologia.
Una chiave è non legata alla versione del software nella maggior parte dei casi. Le date e i motivi di modifica delle chiavi possono essere interessanti, ma non è necessario che siano disponibili per tutti.
Le chiavi vengono emesse per azienda o per server, non per applicazione.
Se dovessi mai decidere di aver bisogno di un secondo server in un altro paese con leggi diverse e una chiave diversa, o consentire a una società diversa di eseguire anche il tuo software server, questo è il più importante. Questi dovrebbero avere diversi chiavi. Raggruppare la tua chiave con l'app è un no-go allora.
Le chiavi non dovrebbero essere informazioni pubbliche
Il tuo stagista deve davvero avere accesso alla chiave del tuo server di produzione? Veramente? Il tuo ufficio di conformità / sicurezza è d'accordo?
C'è solo una chiave che potresti voler includere in Git: una chiave di test per un server di test interno o un server locale. Ciò faciliterà la distribuzione iniziale e ti consentirà di cambiare i formati chiave senza fare una email aziendale chiedendo a tutti gli sviluppatori di cambiare le loro chiavi locali, mentre non invalidando la sicurezza e l'integrità del server di produzione.