Ignition v8.1.47 : custom module is giving error related to "bouncycastle"

Hi ,

I am having issue with my custom ignition module Build a Module | Ignition SDK Programmer's Guide

I built a custom ignition module in Maven with and as 8.1.0-SNAPSHOT . My module works fine with Ignition v8.1.37.
But with Ignition v8.1.47 , my module is giving the below error
“java.lang.ClassCastException: class org.bouncycastle.asn1.DLTaggedObject cannot be cast to class org.bouncycastle.asn1.ASN1ApplicationSpecific (org.bouncycastle.asn1.DLTaggedObject is in unnamed module of loader 'app'; org.bouncycastle.asn1.ASN1ApplicationSpecific is in unnamed module of loader com.inductiveautomation.ignition.gateway.modules.ModuleClassLoader)”

I tried building my module with and as 8.1.47 and 8.1.37 .
Still getting the same above error when this module is installed in Ignition v8.1.47

I do not use this “bouncycastle” in my module. Looks like Ignition is using it internally.
Looks like in Ignition 8.1.44 there was the below update
“Security :Upgraded bouncy castle library from 1.69 to 1.78.1 “
As mentioned here Ignition Release Notes for Version 8.1.44 | Inductive Automation

Can you provide a solution for this issue ?

Can you provide full logs and/or stack trace?

It may also be necessary to share your module.

This is the entire log that get printed in Ignition logs when I invoke my module code from my Ignition code.
I don't think i can share the entire module code in this open forum as the code is confidential to my organization. Can i reach out to the paid support? I reached out to them yesterday and got a reply that the paid support does not support any module related questions. Also i don’t think you need my module code. My module does NOT use the "bouncycastle" library and the module works fine in v8.1.37. Only issue is with higher version of Ignition v8.1.47. I think this issue can be replicated with any module built with maven in Ignition v8.1.47.

There is no paid module support, it's forum + figure it out.

Show me just the structural file contents of your module, e.g.

kevin@fedora ~/Downloads> unzip -l Modbus-Server-Driver-Module-signed.modl
Archive:  Modbus-Server-Driver-Module-signed.modl
  Length      Date    Time    Name
---------  ---------- -----   ----
     1464  11-14-2024 23:42   certificates.p7b
    65896  11-14-2024 23:42   msd-gateway-1.0.0.jar
      587  11-14-2024 23:42   module.xml
    13183  11-14-2024 23:42   byteops-0.1.1.jar
   165185  11-14-2024 23:42   modbus-2.0.0.jar
    46867  11-14-2024 23:42   modbus-tcp-2.0.0.jar
     1859  11-14-2024 23:42   signatures.properties
---------                     -------
   295041                     7 files
1 Like

I just realized that in my original post it cut off some of the details . Below is the details that got cut :

I built a custom ignition module in Maven with “ignition-platform-version” and “ignition-sdk-version>as 8.1.0-SNAPSHOT” . My module works fine with Ignition v8.1.37.

I tried building my module with “ignition-platform-version” and “ignition-sdk-version” as 8.1.47 and 8.1.37 .

And this site is just restricting from posting any details . So many checks that feel restrictive to post in this forum. Please address this issue as well

This is the structural file contents of my module :

 Length      Date    Time    Name
---------  ---------- -----   ----
  4540730  2025-04-21 15:26   bcprov-jdk15to18-1.68.jar
   819996  2025-04-21 15:26   jcifs-ng-2.1.6.jar
   325613  2025-04-21 15:26   jetty-client-9.4.44.v20210927.jar
   224574  2025-04-21 15:26   jetty-http-9.4.44.v20210927.jar
   178897  2025-04-21 15:26   jetty-io-9.4.44.v20210927.jar
   581520  2025-04-21 15:26   jetty-util-9.4.44.v20210927.jar
     1482  2025-04-21 15:26   module.xml
     4462  2025-04-21 15:26   scripting-function-client-8.1.37-SNAPSHOT.jar
     4555  2025-04-21 15:26   scripting-function-common-8.1.37-SNAPSHOT.jar
     3560  2025-04-21 15:26   scripting-function-designer-8.1.37-SNAPSHOT.jar
     9071  2025-04-21 15:26   scripting-function-gateway-8.1.37-SNAPSHOT.jar
    41205  2025-04-21 15:26   slf4j-api-1.7.24.jar
---------                     -------
  6735665                     12 files

Ok... so you are packaging a version of Bouncy Castle.

I don't know what checks you're talking about if you can't describe them or screenshot them for me.

Most are probably due to you being a new user (low post count) or including a bunch of links in your post, and will naturally go away as you post more.

Oh ok.. i figured it out .. I am using this lib : https://mvnrepository.com/artifact/eu.agno3.jcifs/jcifs-ng/2.1.6 . This seems to be pulling that bouncy castle lib. Will see if i can update this lib and if it fixes the issue. Thank you Kevin.

I think you may also have issues with packaging some of those jetty artifacts, as Ignition already has some of them on its class path, and not likely the same version.

oh ok.. can you plz share which version of Jetty is used in Ignition v8.1.47 ?

Looks like 10.0.20.

You can find this out yourself on any version by looking in the $IGNITION/lib/core/gateway folder.

$ ls | grep jetty
jetty-alpn-client-10.0.20.jar
jetty-client-10.0.20.jar
jetty-http-10.0.20.jar
jetty-io-10.0.20.jar
jetty-rewrite-10.0.20.jar
jetty-security-10.0.20.jar
jetty-server-10.0.20.jar
jetty-servlet-10.0.20.jar
jetty-servlet-api-4.0.6.jar
jetty-util-10.0.20.jar
jetty-webapp-10.0.20.jar
jetty-xml-10.0.20.jar
websocket-jetty-api-10.0.20.jar
websocket-jetty-client-10.0.20.jar
websocket-jetty-common-10.0.20.jar
websocket-jetty-server-10.0.20.jar
1 Like

Thank you Kevin.