John Joseph created NIFI-13182:
----------------------------------
Summary: Unable to upgrade NiFi with a different algorithm
Key: NIFI-13182
URL: https://issues.apache.org/jira/browse/NIFI-13182
Project: Apache NiFi
Issue Type: Bug
Reporter: John Joseph
Attachments: image-2024-05-08-15-07-06-963.png
We have NiFi version 1.24 running in Kubernetes with PVCs for the templates.
Deployment is done via Statefulset.
nifi-0 3/3 Running 0
4h25m
nifi-1 3/3 Running 0
4h25m
before the nifi.sh start is invoked we have scripts running to set the
encryption algorithm and the key.
On an upgrade we scale down the pods and another version/revision are run.
Since NiFi allows 2 algorithms [NiFi System Administrator’s Guide
(apache.org)|https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#property-encryption-algorithms],
We have a requirement to provide an option to change the algorithm when an
upgrade rus for NiFi
We verified when templates are available. We installed NiFi with algorithm
NIFI_PBKDF2_AES_GCM_256. then ran upgrade to change "NIFI_PBKDF2_AES_GCM_256"
to NIFI_ARGON2_AES_GCM_256.
But, when we tried to run another upgrade from NIFI_ARGON2_AES_GCM_256 to
NIFI_PBKDF2_AES_GCM_256, NiFi's upgrade failed with Exception
{code:java}
org.apache.nifi.encrypt.EncryptionException: Decryption Failed with Algorithm
[AES/GCM/NoPadding]{code}
!image-2024-05-08-15-07-06-963.png!
{code:java}
[main] org.apache.nifi.web.server.JettyServer Failed to start web server...
shutting down.<nl>org.apache.nifi.encrypt.EncryptionException: Decryption
Failed with Algorithm [AES/GCM/NoPadding]_ at
org.apache.nifi.encrypt.CipherPropertyEncryptor.decrypt(CipherPropertyEncryptor.java:78)_
at
org.apache.nifi.fingerprint.FingerprintFactory.decrypt(FingerprintFactory.java:996)_
at
org.apache.nifi.fingerprint.FingerprintFactory.getLoggableRepresentationOfSensitiveValue(FingerprintFactory.java:605)_
at
org.apache.nifi.fingerprint.FingerprintFactory.access$200(FingerprintFactory.java:72)_
at
org.apache.nifi.fingerprint.FingerprintFactory$6.compare(FingerprintFactory.java:914)_
at
org.apache.nifi.fingerprint.FingerprintFactory$6.compare(FingerprintFactory.java:907)_
at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)_ at
java.base/java.util.TimSort.sort(TimSort.java:220)_ at
java.base/java.util.Arrays.sort(Arrays.java:1307)_ at
java.base/java.util.ArrayList.sort(ArrayList.java:1721)_ at
java.base/java.util.Collections.sort(Collections.java:179)_ at
org.apache.nifi.fingerprint.FingerprintFactory.sortElements(FingerprintFactory.java:956)_
at
org.apache.nifi.fingerprint.FingerprintFactory.addFlowFileProcessorFingerprint(FingerprintFactory.java:535)_
at
org.apache.nifi.fingerprint.FingerprintFactory.addProcessGroupFingerprint(FingerprintFactory.java:411)_
at
org.apache.nifi.fingerprint.FingerprintFactory.addProcessGroupFingerprint(FingerprintFactory.java:439)_
at
org.apache.nifi.fingerprint.FingerprintFactory.addProcessGroupFingerprint(FingerprintFactory.java:439)_
at
org.apache.nifi.fingerprint.FingerprintFactory.addProcessGroupFingerprint(FingerprintFactory.java:439)_
at
org.apache.nifi.fingerprint.FingerprintFactory.addFlowControllerFingerprint(FingerprintFactory.java:226)_
at
org.apache.nifi.fingerprint.FingerprintFactory.createFingerprint(FingerprintFactory.java:155)_
at
org.apache.nifi.fingerprint.FingerprintFactory.createFingerprint(FingerprintFactory.java:129)_
at
org.apache.nifi.controller.inheritance.FlowFingerprintCheck.checkInheritability(FlowFingerprintCheck.java:45)_
at
org.apache.nifi.controller.XmlFlowSynchronizer.sync(XmlFlowSynchronizer.java:205)_
at
org.apache.nifi.controller.serialization.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:42)_
at
org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1530)_
at
org.apache.nifi.persistence.StandardFlowConfigurationDAO.load(StandardFlowConfigurationDAO.java:104)_
at
org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:817)_
at
org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:457)_
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:896)_ at
org.apache.nifi.NiFi.<init>(NiFi.java:172)_ at
org.apache.nifi.NiFi.<init>(NiFi.java:83)_ at
org.apache.nifi.NiFi.main(NiFi.java:332)_ Caused by:
javax.crypto.AEADBadTagException: Tag mismatch!_ at
java.base/com.sun.crypto.provider.GaloisCounterMode$GCMDecrypt.doFinal(GaloisCounterMode.java:1395)_
at
java.base/com.sun.crypto.provider.GaloisCounterMode.engineDoFinal(GaloisCounterMode.java:406)_
at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2205)_ at
org.apache.nifi.encrypt.CipherPropertyEncryptor.decrypt(CipherPropertyEncryptor.java:74)_
... 30 common frames omitted_ {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)