Một số ý tưởng ... Mật mã khóa công khai là câu trả lời linh hoạt nhất.
Obfuscation (chỉ dành cho mã)
Đối với các phần của mã bạn muốn ẩn, bạn có thể đặt chúng vào một dự án khác, biên dịch chúng và chỉ kiểm tra mã được biên dịch, không phải nguồn không? Đây không phải là mã hóa và không phù hợp để mã hóa mật khẩu hoặc khóa. Mọi người vẫn có thể thiết kế ngược mã được biên dịch của bạn, nhưng họ không nhận được nguồn.
Kho lưu trữ GIT riêng
Nó có phải là một kho lưu trữ git công cộng ?
Lưu trữ máy chủ
Bạn có thể lưu trữ thông tin này trong một tệp được bảo vệ trong thư mục chính của tài khoản người dùng mà ứng dụng chạy bên dưới không? Tôi sẽ sao chép cách ssh thực hiện điều này với ~ / .ssh / id_rsa và chmod là 600. Không thể sử dụng biến môi trường. Bạn cần một nơi nào đó trên máy chủ để lưu trữ một số loại chìa khóa, hoặc không có cách nào bạn có thể bảo vệ bất cứ điều gì.
Mật mã đối xứng (chỉ dành cho bạn)
Nếu bạn là nhà phát triển duy nhất, bạn có thể đặt một khóa trên máy chủ và có cùng khóa đó trên máy của bạn và sử dụng sơ đồ mã hóa đối xứng để bảo vệ một số dữ liệu như mật khẩu hoặc chứng chỉ. Chia sẻ khóa đối xứng với bạn bè trở nên lộn xộn.
Mật mã bất đối xứng (dành cho nhiều nhà phát triển)
Nếu các nhà phát triển khác cần kiểm tra những thứ bí mật vào kho lưu trữ git công khai, thì mật mã khóa công khai / khóa riêng (không đối xứng) được tạo ra cho loại điều này. Cài đặt khóa riêng trên máy chủ của bạn (không kiểm tra nó vào kiểm soát nguồn!) Và tạo khóa chung từ nó. Mã hóa dữ liệu bí mật của bạn bằng khóa chung của máy chủ. Chỉ máy chủ mới có thể giải mã dữ liệu đó bằng khóa riêng của nó. Bạn thậm chí có thể kiểm tra khóa chung vào kiểm soát nguồn để người khác có thể mã hóa dữ liệu bằng cùng một khóa chung và chỉ máy chủ mới có thể giải mã được.
Dụng cụ
Openssl có lẽ là công cụ mã hóa duy nhất bạn cần. Không viết thuật toán mật mã của riêng bạn hoặc thực hiện thuật toán được xuất bản của riêng bạn.
Bớt tư tưởng
Nếu "máy chủ" là một máy chủ web sử dụng https, thì bạn đã có một kho khóa an toàn của một loại nào đó trên máy chủ để lưu trữ khóa riêng tư. Thật là phiền khi một công ty lưu trữ sẽ không cho phép điều này. Có lẽ họ có một số gợi ý về cách người khác giải quyết thách thức mà bạn đang đối mặt?