Встречается на собеседованиях • сегодня

Как обеспечить безопасность секретного ключа в Java-приложении, если он хранится в профиле и Git-репозитории

Для безопасного хранения секретных ключей в Java-приложении:

  1. Используйте переменные окружения – храните ключи в .env (добавьте его в .gitignore), загружайте через System.getenv("KEY").

  2. Шифруйте ключи – храните зашифрованные значения, расшифровывайте при запуске (например, с помощью Jasypt).

  1. Используйте Key Management Services (KMS) – AWS KMS, HashiCorp Vault или аналоги.

  2. Не храните в коде/репозитории – даже в .properties/.yaml без защиты.

Пример с Jasypt:

java
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setPassword(System.getenv("ENCRYPTION_PASSWORD"));
String decryptedKey = encryptor.decrypt(encryptedKeyFromConfig);

Для production – предпочтительны KMS или секреты в runtime-окружении (Kubernetes Secrets, AWS Secrets Manager).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы