NIFI中

时间:2018-05-29 08:29:41

标签: java apache-nifi

我们正在尝试在NIFI中的DBCPConnectionPool控制器(内置处理器)中为密码提供自定义加密和解密算法,而不是内置算法。我们有什么方法吗?

1 个答案:

答案 0 :(得分:1)

如果处理器,控制器服务或报告任务具有标记为敏感的PropertyDescriptor [1],则NiFi会在将其写入flow.xml.gz时自动加密该值,并在读取流时自动对其进行解密。 xml.gz.

加密/解密的密钥和算法通过nifi.properties中的属性进行控制:

nifi.sensitive.props.key=
nifi.sensitive.props.key.protected=
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC

如果你使用了context.getProperty(DB_PASSWORD).getValue(),它就会返回解密后的值。所以我不确定你为什么需要自己解密。

[1] https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java#L99