Я использую сервер конфигурации Spring и безопасность Spring. Я перешел по ссылке https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_server.html Я добавил JCF в папку C: \ Program Files \ Java \ jdk1.8.0_171 \ jre \ lib \ security. Когда я публикую localhost: 8080 / encrypt { "description": "Алгоритм шифрования недостаточно силен", "status": "НЕДЕЙСТВИТЕЛЬНО" } Такой ответ приходит. Пожалуйста, дайте мне знать о проблеме.




Отказ от ответственности: я использую org.springframework.cloud:spring-cloud-config-server:2.0.6.RELEASE.
Этого недостаточно, чтобы включить неограниченную криптографическую политику (кстати, по умолчанию она начинается с jdk8.161), но вы также должны предоставить (в случае, если вы хотите использовать симметричную криптографию) свойство encrypt.key.
Вы можете найти его в документации: http://cloud.spring.io/spring-cloud-config/2.0.x/single/spring-cloud-config.html#_key_management
PS: Установите его в пределах bootstrap.properties.
если вы получаете ответ {"description": "Алгоритм шифрования недостаточно надежен", "status": "INVALID"}. решение просто создает файл bootstrap.properties на сервере конфигурации и добавляет свойство encrypt.key = "Secrete Key".
bootstrap.properties предназначены для отслеживания в системе управления версиями, поэтому я бы предпочел ссылаться на значение envcrypt.key как на переменную среды операционной системы.
Для систем unix используйте export ENCRYPT_KEY=YOURKEY
Добавьте эту переменную в один из файлов запуска ~/bashrc, ~.profile or ~/.login, чтобы сделать ее постоянной.
С сервером конфигурации Spring Cloud 2 мы получаем ответ об ошибке для конечной точки / шифрования, поскольку алгоритм шифрования недостаточно силен.
Эта ошибка возникает, если у вас не определено свойство encrypt.key. Даже если это определено, чтобы избежать этой ошибки, свойство encrypt.key следует поместить в bootstrap.properties, а не в application.properties.
Свойство encrypt.key облачного сервера конфигурации используется для расшифровки зашифрованных свойств в файлах конфигурации, поэтому явно слишком поздно (и неправильно с точки зрения безопасности) предоставлять указанный ключ в этих файлах конфигурации.
Он должен быть доступен для контекста начальной загрузки, поэтому да, вы можете поместить его в bootstrap.yml, если этот файл конфигурации надлежащим образом защищен или, что еще лучше, он должен быть предоставлен во время запуска надежной системой хранения секретов, такой как Vault.
Жалко, что Spring способ сообщить вам, что вы ошиблись, выдав следующее сообщение об ошибке:
{"description":"The encryption algorithm is not strong enough","status":"INVALID"}
Вы точно перешли по ссылке? Если нет, укажите параметры, которые вы использовали.