<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:57 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[NETCONF-1217] Given final block not properly padded. Such issues can arise if a bad key is used during decryption</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-1217</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;Invoke PUT request to:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;http://192.168.56.25:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=17830-sim-device&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;with payload:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
{
&#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;node&quot;&lt;/span&gt;: [
&#160; &#160; &#160; &#160; {
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;node-id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;17830-sim-device&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:login-password&quot;&lt;/span&gt;: {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;username&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;admin&quot;&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;password&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;Aw1Cnm3U99u7K4aJxEZGkA==&quot;&lt;/span&gt;
&#160; &#160; &#160; &#160; &#160; &#160; },
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:schemaless&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:port&quot;&lt;/span&gt;: 17830,
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:tcp-only&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;,
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:keepalive-delay&quot;&lt;/span&gt;: 0,
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-quote&quot;&gt;&quot;netconf-node-topology:host&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;192.168.56.25&quot;&lt;/span&gt;
&#160; &#160; &#160; &#160; }
&#160; &#160; ]
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;You can see error in karaf console:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;09:54:15.461 ERROR [opendaylight-cluster-data-notification-dispatcher-51] Failed to decrypt encoded data
javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
&#160; &#160; &#160; &#160; at com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:862) ~[?:?]
&#160; &#160; &#160; &#160; at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:942) ~[?:?]
&#160; &#160; &#160; &#160; at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:735) ~[?:?]
&#160; &#160; &#160; &#160; at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:436) ~[?:?]
&#160; &#160; &#160; &#160; at javax.crypto.Cipher.doFinal(Cipher.java:2205) ~[?:?]
&#160; &#160; &#160; &#160; at org.opendaylight.aaa.encrypt.impl.AAAEncryptionServiceImpl.decrypt(AAAEncryptionServiceImpl.java:154) ~[?:?]
&#160; &#160; &#160; &#160; at org.opendaylight.netconf.topology.spi.NetconfClientConfigurationBuilderFactoryImpl.setSshParametersFromCredentials(NetconfClientConfigurationBuilderFactoryImpl.java:106) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at org.opendaylight.netconf.topology.spi.NetconfClientConfigurationBuilderFactoryImpl.createClientConfigurationBuilder(NetconfClientConfigurationBuilderFactoryImpl.java:74) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at org.opendaylight.netconf.topology.spi.NetconfNodeHandler.&amp;lt;init&amp;gt;(NetconfNodeHandler.java:193) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at org.opendaylight.netconf.topology.spi.AbstractNetconfTopology.lockedEnsureNode(AbstractNetconfTopology.java:124) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at org.opendaylight.netconf.topology.spi.AbstractNetconfTopology.ensureNode(AbstractNetconfTopology.java:91) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at org.opendaylight.netconf.topology.impl.NetconfTopologyImpl.ensureNode(NetconfTopologyImpl.java:143) ~[?:?]
&#160; &#160; &#160; &#160; at org.opendaylight.netconf.topology.impl.NetconfTopologyImpl.onDataTreeChanged(NetconfTopologyImpl.java:129) ~[?:?]
&#160; &#160; &#160; &#160; at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:44) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataTreeChanged(DataTreeChangeListenerActor.java:90) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:45) ~[bundleFile:?]
&#160; &#160; &#160; &#160; at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) [bundleFile:?]
&#160; &#160; &#160; &#160; at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) [bundleFile:?]
&#160; &#160; &#160; &#160; at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) [bundleFile:?]
&#160; &#160; &#160; &#160; at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:269) [bundleFile:?]
&#160; &#160; &#160; &#160; at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:270) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.actor.Actor.aroundReceive(Actor.scala:537) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.actor.Actor.aroundReceive$(Actor.scala:535) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:220) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.actor.ActorCell.receiveMessage(ActorCell.scala:579) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.actor.ActorCell.invoke(ActorCell.scala:547) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.dispatch.Mailbox.run(Mailbox.scala:231) [bundleFile:?]
&#160; &#160; &#160; &#160; at akka.dispatch.Mailbox.exec(Mailbox.scala:243) [bundleFile:?]
&#160; &#160; &#160; &#160; at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) [?:?]
&#160; &#160; &#160; &#160; at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) [?:?]
&#160; &#160; &#160; &#160; at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) [?:?]
&#160; &#160; &#160; &#160; at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) [?:?]
&#160; &#160; &#160; &#160; at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) [?:?]&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Note that the password when fails to decrypt is returned untouched, the revision on which bug is present is: &#160;&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;fedba3cac1c141c2b2bfb61ccf8a5622977254d4&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="37806">NETCONF-1217</key>
            <summary>Given final block not properly padded. Such issues can arise if a bad key is used during decryption</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10001">Won&apos;t Do</resolution>
                                        <assignee username="yaroslav.lastivka">Yaroslav Lastivka</assignee>
                                    <reporter username="ivanhrasko">Ivan Hrasko</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Fri, 5 Jan 2024 10:05:16 +0000</created>
                <updated>Wed, 24 Jan 2024 11:55:13 +0000</updated>
                            <resolved>Wed, 24 Jan 2024 11:55:13 +0000</resolved>
                                                    <fixVersion>7.0.0</fixVersion>
                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="73100" author="JIRAUSER15510" created="Thu, 11 Jan 2024 10:58:26 +0000"  >&lt;p&gt;The AAAEncryptionServiceImpl is configured to generate a new encryption key with each build of the application. This dynamic key generation presents a significant challenge: users are unable to update node user details via PUT requests, as they lack access to the current encryption key. This limitation hinders the ability to perform routine updates and maintenance through our API.&lt;/p&gt;</comment>
                            <comment id="73101" author="JIRAUSER15510" created="Thu, 11 Jan 2024 11:07:01 +0000"  >&lt;p&gt;The Netconf user guide has been updated to recommend using &apos;login-password-unencrypted&apos; as a replacement for &apos;login-password&apos;. This change is reflected in the revision b8b4c4adf96d6f7f0e2c582b505fd7ea194bb3af.&lt;/p&gt;</comment>
                            <comment id="73119" author="ivanhrasko" created="Wed, 24 Jan 2024 11:55:01 +0000"  >&lt;p&gt;Its a responsibility of the user to provide correctly encrypted password. See also &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-1216&quot; title=&quot;Input length must be multiple of 16 when decrypting with padded cipher&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-1216&quot;&gt;&lt;del&gt;NETCONF-1216&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="37164">NETCONF-1115</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0474n:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>