いくつかのアイデア...公開キー暗号化が最も柔軟な答えです。
難読化(コードのみ)
非表示にするコードの部分については、それらを別のプロジェクトに配置してコンパイルし、ソースではなくコンパイルされたコードのみをチェックインできますか?これは暗号化ではなく、パスワードまたはキーの暗号化には適していません。コンパイルされたコードをリバースエンジニアリングすることはできますが、ソースを取得することはできません。
プライベートGITリポジトリ
パブリック gitリポジトリである必要がありますか?
サーバーストレージ
この情報を、アプリケーションが実行されるユーザーアカウントのホームディレクトリの保護されたファイルに保存できますか?〜/ .ssh / id_rsaと600のchmodでsshがこれを行う方法をコピーします。それが失敗すると、環境変数を使用できます。何らかの種類のキーを保存するためにサーバー上のどこかが必要です。そうしないと、何も保護できません。
対称暗号化(あなただけに)
あなたが唯一の開発者であれば、サーバーにキーを置き、同じキーをマシンに持ち、対称暗号化スキームを使用してパスワードや証明書などのデータを保護できます。対称キーを友人と共有するのは面倒です。
非対称暗号化(複数の開発者向け)
他の開発者が秘密のことを公開gitリポジトリにチェックインする必要がある場合、この種のことのために公開鍵/秘密鍵(非対称)暗号化が行われました。サーバーに秘密鍵をインストールし(ソース管理にチェックインしないでください!)、そこから公開鍵を生成します。サーバーの公開鍵を使用して秘密データを暗号化します。サーバーのみが、秘密鍵を使用してそのデータを復号化できます。公開キーをソース管理にチェックインして、他の人が同じ公開キーを使用してデータを暗号化し、サーバーのみがそれを解読できるようにすることもできます。
ツール
Opensslは、おそらくあなたが必要とする唯一の暗号化ツールです。独自の暗号化アルゴリズムや公開されたアルゴリズムの独自の実装を作成しないでください。
おわりに
「サーバー」がhttpsを使用するWebサーバーである場合は、秘密キーを保存するための何らかの安全なキーストアがサーバー上にすでに存在している必要があります。この。たぶん、彼らはあなたが直面している課題を他の人がどのように解決するかについてのヒントを持っていますか?