После обновления apache nifi с 1.13 до 1.18 я начал видеть эту ошибку, как показано ниже. Также я вижу ту же ошибку в веб-интерфейсе из некоторого потока, который использует этот сертификат.
WARN [main] d.o.a.n.s.u.c.NiFiLegacyCipherProvider Небезопасный алгоритм поставщика шифров [PBEWITHMD5AND256BITAES-CBC-OPENSSL] запрошен шифр org.apache.nifi.deprecation.log.DeprecationException: эталонный класс [org.apache.nifi.security.util.crypto.NiFiLegacyCipherProvider] ClassLoader [org.apache.nifi.nar.NarClassLoader[./work/nar/framework/nifi -framework-nar-1.18.0.nar-распакованный]] в org.apache.nifi.deprecation.log.StandardDeprecationLogger.getExtendedArguments(StandardDeprecationLogger.java:63) в org.apache.nifi.deprecation.log.StandardDeprecationLogger.warn(StandardDeprecationLogger.java:54) на org.apache.nifi.security.util.crypto.NiFiLegacyCipherProvider.getCipher(NiFiLegacyCipherProvider.java:66) на org.apache.nifi.encrypt.PasswordBasedCipherPropertyEncryptor.getCipher(PasswordBasedCipherPropertyEncryptor.java:119) на org.apache.nifi.encrypt.PasswordBasedCipherPropertyEncryptor.getEncryptionCipher(PasswordBasedCipherPropertyEncryptor.java:84) на org.apache.nifi.encrypt.CipherPropertyEncryptor.encrypt(CipherPropertyEncryptor.java:52) в org.apache.nifi.controller.serialization.StandardFlowSerializer.addConfiguration(StandardFlowSerializer.java:562) в org.apache.nifi.controller.serialization.StandardFlowSerializer.addControllerService(StandardFlowSerializer.java:657) в org.apache.nifi.controller.serialization.StandardFlowSerializer.addProcessGroup(StandardFlowSerializer.java:315) в org.apache.nifi.controller.serialization.StandardFlowSerializer.transform(StandardFlowSerializer.java:111) в org.apache.nifi.controller.serialization.StandardFlowSerializer.transform(StandardFlowSerializer.java:79) в org.apache.nifi.controller.FlowController.serialize(FlowController.java:1423) в org.apache.nifi.persistence.StandardFlowConfigurationDAO.serializeControllerStateToTempFile(StandardFlowConfigurationDAO.java:235) в org.apache.nifi.persistence.StandardFlowConfigurationDAO.saveFlow(StandardFlowConfigurationDAO.java:210) в org.apache.nifi.persistence.StandardFlowConfigurationDAO.saveXml(StandardFlowConfigurationDAO.java:203) в org.apache.nifi.persistence.StandardFlowConfigurationDAO.save(StandardFlowConfigurationDAO.java:191) в org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:560) в org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:67) в org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073) в org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572) в org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002)
Это предупреждение об устаревании. Планируется, что PBEWITHMD5AND256BITAES-CBC-OPENSSL и аналогичные алгоритмы на основе пароля будут объявлены устаревшими в будущем выпуске NiFi из-за того, что они не соответствуют порогу безопасности проекта NiFi. Более безопасной альтернативой шифрованию на основе пароля могут быть BCrypt, SCrypt, Argon2, PBKDF2. Ваша конфигурация NiFi (nifi.properties) должна быть переведена на обновленный алгоритм. Соответствующие свойства в nifi.properties: nifi.sensitive.props.key=????
и
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
которые обеспечивают шифрование для flow.xml.gz. Обновленный алгоритм конфиденциальных свойств будет nifi.sensitive.props.algorithm=NIFI_PBKDF2_AES_GCM_256
.
Я считаю, что вы можете обновить свою конфигурацию с помощью этой команды:
Вот дополнительное чтение: https://exceptionfactory.com/posts/2021/07/29/deciphering-apache-nifi-component-property-encryption/