Как мы можем обеспечить безопасность, используя jasypt?
Недавно я прошел через Jasypt API для защиты записей файла свойств. Согласно Jasypt, для расшифровки записи в файле свойств, который был заключен в ENC(..), нам нужно использовать безопасный пароль, секретный ключ, как показано ниже (не веб-приложение):
encryptor.setPassword("jasypt"); // could be got from web, env variable..
Конечно, мы можем настроить такой пароль, используя
org.jasypt.encryption.pbe.config.SimplePBEConfig setPassword()
Но мой вопрос, если мы извлечем jar-файл, третья сторона сможет найти секретный ключ. Как мы можем обеспечить безопасность в таких случаях?
Заранее спасибо, JK
1 ответ
Секретный ключ должен храниться в переменной окружения вне приложения.
Например, в вашем весеннем конфигурационном файле:
<bean id="environmentConfig" class=
"org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig"
p:passwordEnvName="APP_ENCRYPTION_PASSWORD" ...
Теперь добавьте APP_ENCRYPTION_PASSWORD в переменную env в ОС или на сервере приложений.