Mehrere Ideen ... Die Kryptographie mit öffentlichen Schlüsseln ist die flexibelste Antwort.
Verschleierung (nur für Code)
Können Sie die Teile des Codes, die Sie ausblenden möchten, in ein anderes Projekt einfügen, kompilieren und nur den kompilierten Code und nicht den Quellcode einchecken? Dies ist keine Verschlüsselung und nicht zum Verschlüsseln von Passwörtern oder Schlüsseln geeignet. Die Leute können Ihren kompilierten Code immer noch zurückentwickeln, aber sie bekommen nicht die Quelle.
Privates GIT-Repository
Muss es ein öffentliches Git-Repository sein?
Serverspeicher
Können Sie diese Informationen in einer geschützten Datei im Home-Verzeichnis des Benutzerkontos speichern, unter dem die Anwendung ausgeführt wird? Ich würde die Vorgehensweise von ssh mit ~ / .ssh / id_rsa und einem chmod von 600 kopieren. Andernfalls könnte eine Umgebungsvariable verwendet werden. Sie müssen irgendwo auf dem Server einen Schlüssel speichern, sonst können Sie nichts schützen.
Symmetrische Kryptographie (nur für Sie)
Wenn Sie der einzige Entwickler sind, können Sie einen Schlüssel auf den Server legen und denselben Schlüssel auf Ihrem Computer haben und ein symmetrisches Verschlüsselungsschema verwenden, um einige Daten wie ein Kennwort oder ein Zertifikat zu schützen. Das Teilen eines symmetrischen Schlüssels mit Freunden wird chaotisch.
Asymmetrische Kryptographie (für mehrere Entwickler)
Wenn andere Entwickler geheime Dinge in ein öffentliches Git-Repository einchecken müssen, wurde für diese Art von Dingen eine Kryptografie mit öffentlichem Schlüssel / privatem Schlüssel (asymmetrisch) erstellt. Installieren Sie einen privaten Schlüssel auf Ihrem Server (checken Sie ihn nicht in die Quellcodeverwaltung ein!) Und generieren Sie daraus einen öffentlichen Schlüssel. Verschlüsseln Sie Ihre geheimen Daten mit dem öffentlichen Schlüssel des Servers. Nur der Server kann diese Daten mit seinem privaten Schlüssel entschlüsseln. Sie können den öffentlichen Schlüssel sogar in die Quellcodeverwaltung einchecken, sodass andere Personen Daten mit demselben öffentlichen Schlüssel verschlüsseln können und nur der Server sie entschlüsseln kann.
Werkzeug
Openssl ist wahrscheinlich das einzige Kryptografietool, das Sie jemals benötigen werden. Schreiben Sie nicht Ihren eigenen Kryptografiealgorithmus oder Ihre eigene Implementierung eines veröffentlichten Algorithmus.
Gedanken schließen
Wenn der "Server" ein Webserver ist, der https verwendet, sollten Sie bereits einen sicheren Schlüsselspeicher auf dem Server haben, in dem der private Schlüssel gespeichert wird diese. Vielleicht haben sie ein paar Tipps, wie andere die Herausforderung lösen, vor der Sie stehen?