<!-- 
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-1216] Input length must be multiple of 16 when decrypting with padded cipher</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-1216</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;YWRtaW4K&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; ]
}
&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;10:06:07.667 INFO [CM Configuration Updater (Update: pid=org.ops4j.pax.logging)] Logging configuration changed. (Event Admin service unavailable - no notification sent).
10:06:15.792 INFO [opendaylight-cluster-data-notification-dispatcher-66] RemoteDevice{Uri{value=17830-sim-device}} was already configured, disconnecting
10:06:15.799 INFO [opendaylight-cluster-data-notification-dispatcher-66] Connecting RemoteDevice{Uri{value=17830-sim-device}}, with config Node{nodeId=Uri
{value=17830-sim-device}
, augmentation=[NetconfNode{actorResponseWaitTime=5, betweenAttemptsTimeoutMillis=2000, concurrentRpcLimit=0, connectionTimeoutMillis=20000, credentials=***, defaultRequestTimeoutMillis=60000, host=Host{ipAddress=IpAddress{ipv4Address=Ipv4Address
{value=192.168.56.25}
}}, keepaliveDelay=0, lockDatastore=true, maxConnectionAttempts=0, port=PortNumber{value=17830}, reconnectOnChangedSchema=false, schemaCacheDirectory=schema, schemaless=false, sleepFactor=1.5, tcpOnly=false}]}
10:06:15.802 INFO [opendaylight-cluster-data-notification-dispatcher-66] Concurrent rpc limit is smaller than 1, no limit will be enforced for device RemoteDeviceId[name=17830-sim-device, address=/192.168.56.25:17830]
10:06:15.803 ERROR [opendaylight-cluster-data-notification-dispatcher-66] Failed to decrypt encoded data
javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher
&#160; &#160; &#160; &#160; at com.sun.crypto.provider.CipherCore.prepareInputBuffer(CipherCore.java:891) ~[?:?]
&#160; &#160; &#160; &#160; at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:730) ~[?:?]
&#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="37805">NETCONF-1216</key>
            <summary>Input length must be multiple of 16 when decrypting with padded cipher</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 09:46:48 +0000</created>
                <updated>Wed, 24 Jan 2024 11:54:26 +0000</updated>
                            <resolved>Wed, 24 Jan 2024 11:54:26 +0000</resolved>
                                                    <fixVersion>7.0.0</fixVersion>
                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="73104" author="ivanhrasko" created="Wed, 17 Jan 2024 09:23:44 +0000"  >&lt;p&gt;Create unit test that proves that when using padding we are not going to have padding exception, see: &lt;a href=&quot;https://www.baeldung.com/java-crypto-apis-exceptions&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.baeldung.com/java-crypto-apis-exceptions&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="73117" author="ivanhrasko" created="Wed, 24 Jan 2024 08:23:19 +0000"  >&lt;p&gt;We are getting exception regardless padding usage. See &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/aaa/+/109834&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/aaa/+/109834&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="73118" author="ivanhrasko" created="Wed, 24 Jan 2024 11:54:10 +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-1217&quot; title=&quot;Given final block not properly padded. Such issues can arise if a bad key is used during decryption&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-1217&quot;&gt;&lt;del&gt;NETCONF-1217&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|i0474f:</customfieldvalue>

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