[ 
https://issues.apache.org/jira/browse/NIFI-4573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy LoPresto reassigned NIFI-4573:
-----------------------------------

    Assignee: Andy LoPresto

> Improve error messaging when users do not enter password for flow encryption 
> migration
> --------------------------------------------------------------------------------------
>
>                 Key: NIFI-4573
>                 URL: https://issues.apache.org/jira/browse/NIFI-4573
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Tools and Build
>    Affects Versions: 1.2.0
>            Reporter: Andy LoPresto
>            Assignee: Andy LoPresto
>            Priority: Major
>              Labels: ambari, configuration, encryption, error, security, ux
>
> Multiple users have reported performing an upgrade via Apache Ambari and 
> getting a stacktrace with "pad block corrupted" during the encrypted 
> configuration tool operation. This underlying exception indicates the key 
> used to perform decryption of some cipher text is not correct. We should 
> improve the error messaging to direct users to the probable cause (in this 
> case, not entering the correct decryption key in the Ambari configuration 
> page). The code is technically "works as expected" but the user experience 
> can be improved. 
> {code}
> The error says "pad block corrupted"
> 2017/10/07 12:30:39 ERROR main 
> org.apache.nifi.properties.ConfigEncryptionTool: Encountered an error 
> javax.crypto.BadPaddingException: pad block corrupted 
> at 
> org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.doFinal(Unknown
>  Source) 
> at 
> org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(Unknown
>  Source) 
> at javax.crypto.Cipher.doFinal(Cipher.java:2165) 
> at javax.crypto.Cipher$doFinal$2.call(Unknown Source) 
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>  
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>  
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>  
> at 
> org.apache.nifi.properties.ConfigEncryptionTool.decryptFlowElement(ConfigEncryptionTool.groovy:541)
>  
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  
> at java.lang.reflect.Method.invoke(Method.java:498) 
> at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
> at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:384)
>  
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) 
> at 
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
>  
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
>  
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
>  
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:190)
>  
> at 
> org.apache.nifi.properties.ConfigEncryptionTool$_migrateFlowXmlContent_closure4.doCall(ConfigEncryptionTool.groovy:636)
>  
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  
> at java.lang.reflect.Method.invoke(Method.java:498) 
> at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) 
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) 
> at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
>  
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019) 
> at groovy.lang.Closure.call(Closure.java:426) 
> at groovy.lang.Closure.call(Closure.java:442) 
> at 
> org.codehaus.groovy.runtime.StringGroovyMethods.getReplacement(StringGroovyMethods.java:1543)
>  
> at 
> org.codehaus.groovy.runtime.StringGroovyMethods.replaceAll(StringGroovyMethods.java:2580)
>  
> at 
> org.codehaus.groovy.runtime.StringGroovyMethods.replaceAll(StringGroovyMethods.java:2506)
>  
> at org.codehaus.groovy.runtime.dgm$1127.invoke(Unknown Source) 
> at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
>  
> at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
>  
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>  
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>  
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
>  
> at 
> org.apache.nifi.properties.ConfigEncryptionTool.migrateFlowXmlContent(ConfigEncryptionTool.groovy:635)
>  
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  
> at java.lang.reflect.Method.invoke(Method.java:498) 
> at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
>  
> at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71)
>  
> at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>  
> at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>  
> at 
> org.apache.nifi.properties.ConfigEncryptionTool.main(ConfigEncryptionTool.groovy:1184)
>  
> pad block corrupted
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to