Beberapa ide ... Public Key Cryptography adalah jawaban yang paling fleksibel.
Kebingungan (hanya untuk kode)
Untuk bagian kode yang ingin Anda sembunyikan, dapatkah Anda menempatkannya di proyek yang berbeda, mengkompilasinya, dan memeriksa hanya kode yang dikompilasi, bukan sumbernya? Ini bukan enkripsi dan tidak cocok untuk mengenkripsi kata sandi atau kunci. Orang-orang masih dapat merekayasa ulang kode kompilasi Anda, tetapi mereka tidak mendapatkan sumbernya.
Repositori GIT pribadi
Apakah itu harus menjadi repositori git publik ?
Penyimpanan Server
Bisakah Anda menyimpan info ini dalam file yang dilindungi di direktori home dari akun pengguna yang dijalankan aplikasi tersebut? Saya akan menyalin cara ssh melakukan ini dengan ~ / .ssh / id_rsa dan chmod 600. Gagal, variabel lingkungan dapat digunakan. Anda memerlukan suatu tempat di server untuk menyimpan beberapa jenis kunci, atau Anda tidak dapat melindungi apa pun.
Kriptografi Symmetric (hanya untuk Anda)
Jika Anda adalah pengembang tunggal, Anda bisa meletakkan kunci di server dan memiliki kunci yang sama pada mesin Anda dan menggunakan skema enkripsi simetris untuk melindungi beberapa data seperti kata sandi atau sertifikat. Berbagi kunci simetris dengan teman menjadi berantakan.
Asymmetric Cryptography (untuk banyak pengembang)
Jika pengembang lain perlu memeriksa hal-hal rahasia ke dalam repositori git publik,, kunci publik / kunci privat (asimetris) kriptografi dibuat untuk hal semacam ini. Instal kunci pribadi di server Anda (jangan centang ke kontrol sumber!) Dan buat kunci publik darinya. Enkripsi data rahasia Anda menggunakan kunci publik server. Hanya server yang dapat mendekripsi data menggunakan kunci privatnya. Anda bahkan dapat memeriksa kunci publik ke dalam kontrol sumber sehingga orang lain dapat mengenkripsi data menggunakan kunci publik yang sama dan hanya server yang dapat mendekripsi itu.
Alat
Openssl mungkin satu-satunya alat kriptografi yang Anda butuhkan. Jangan menulis algoritma kriptografi Anda sendiri atau implementasi algoritma yang Anda publikasikan sendiri.
Pikiran penutup
Jika "server" adalah server web yang menggunakan https, maka Anda harus sudah memiliki semacam kunci aman di server untuk menyimpan kunci pribadi. Ini agak mengejutkan bahwa perusahaan hosting tidak akan membuat penyisihan untuk ini. Mungkin mereka memiliki beberapa petunjuk tentang bagaimana orang lain mengatasi tantangan yang Anda hadapi?