Varias ideas ... La criptografía de clave pública es la respuesta más flexible.
Ofuscación (solo para código)
Para las partes del código que desea ocultar, ¿podría ponerlas en un proyecto diferente, compilarlas y registrar solo el código compilado, no la fuente? Esto no es cifrado y no es adecuado para cifrar contraseñas o claves. La gente aún puede aplicar ingeniería inversa a su código compilado, pero no obtienen la fuente.
Repositorio privado de GIT
¿Tiene que ser un repositorio público de git?
Almacenamiento del servidor
¿Puede almacenar esta información en un archivo protegido en el directorio de inicio de la cuenta de usuario con la que se ejecuta la aplicación? Copiaría la forma en que ssh hace esto con ~ / .ssh / id_rsa y un chmod de 600. De lo contrario, podría usarse una variable de entorno. Necesita algún lugar en el servidor para almacenar algún tipo de clave, o no hay forma de proteger nada.
Criptografía simétrica (solo para ti)
Si usted es el único desarrollador, puede poner una clave en el servidor y tener esa misma clave en su máquina y usar un esquema de cifrado simétrico para proteger algunos datos, como una contraseña o un certificado. Compartir una clave simétrica con amigos se vuelve complicado.
Criptografía asimétrica (para múltiples desarrolladores)
Si otros desarrolladores necesitan verificar cosas secretas en un repositorio público de git, se realizó una criptografía de clave pública / clave privada (asimétrica) para este tipo de cosas. Instale una clave privada en su servidor (¡no la controle en el control de origen!) Y genere una clave pública a partir de ella. Cifre sus datos secretos con la clave pública del servidor. Solo el servidor puede descifrar esos datos utilizando su clave privada. Incluso puede verificar la clave pública en el control de origen para que otras personas puedan cifrar datos utilizando la misma clave pública y solo el servidor pueda descifrarla.
Herramienta
Openssl es probablemente la única herramienta de criptografía que necesitará. No escriba su propio algoritmo de criptografía o su propia implementación de un algoritmo publicado.
Pensamientos finales
Si el "servidor" es un servidor web que usa https, entonces ya debería tener un almacén de claves seguro de algún tipo en el servidor para almacenar la clave privada. Es una especie de alucinante que una empresa de hosting no tenga en cuenta esta. ¿Tal vez tienen algunas pistas sobre cómo otros resuelven el desafío que enfrenta?