# Could not find or load main class mitm.application.djigzo.tools.CertStore

**URL:** <https://community.ciphermail.com/t/could-not-find-or-load-main-class-mitm-application-djigzo-tools-certstore/715>\
**Category:** Gateway\
**Created:** [December 15, 2020, 7:05pm UTC](https://community.ciphermail.com/t/could-not-find-or-load-main-class-mitm-application-djigzo-tools-certstore/715 "2020-12-15T19:05:26Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stefan\_Gunther](https://avatars.discourse-cdn.com/v4/letter/s/51bf81/32.png) [@Stefan\_Gunther](https://community.ciphermail.com/u/Stefan_Gunther)\
**Post date:** [December 15, 2020, 7:05pm UTC](https://community.ciphermail.com/t/could-not-find-or-load-main-class-mitm-application-djigzo-tools-certstore/715/1 "2020-12-15T19:05:26Z")

</div>

Hello,

in previous versions of CipherMail it was possible to import certificates with the following command:

cd /usr/share/djigzo  
java -cp djigzo.jar mitm.application.djigzo.tools.CertStore --import-keys --dir /path/to/certs/ --keystore-password SeCrEt

This fails in the current version 4.10.0 (virtual appliance):

Error: Could not find or load main class mitm.application.djigzo.tools.CertStore

Is this import no longer available? /usr/share/djigzo-gateway-console/lib/djigzo.jar still contains CertStore.class

When I add the path to the jar file, I only get another error:

java -cp /usr/share/djigzo-gateway-console/lib/djigzo.jar mitm.application.djigzo.tools.CertStore --import-keys --dir /path/to/certs/ --keystore-password SeCrEt  
Error: A JNI error has occurred, please check your installation and try again  
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/MissingArgumentException  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.getDeclaredMethods0(Native Method)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.privateGetMethodRecursive(Class.java:3048)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.getMethod0(Class.java:3018)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.getMethod(Class.java:1784)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)  
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.MissingArgumentException  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.net.URLClassLoader.findClass(URLClassLoader.java:382)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:418)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:351)  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... 7 more

Thanks your any hints or suggstions.

Regards,

Stefan

---

<div class="post-metadata">

**Author:** ![martijn](https://dub1.discourse-cdn.com/flex017/user_avatar/community.ciphermail.com/martijn/32/127_2.png) [@martijn](https://community.ciphermail.com/u/martijn)\
**Post date:** [December 16, 2020, 9:57am UTC](https://community.ciphermail.com/t/could-not-find-or-load-main-class-mitm-application-djigzo-tools-certstore/715/2 "2020-12-16T09:57:25Z")

</div>

> Hello,
> 
> in previous versions of CipherMail it was possible to import  
> certificates with the following command:
> 
> cd /usr/share/djigzo  
> java -cp djigzo.jar mitm.application.djigzo.tools.CertStore --import-  
> keys --dir /path/to/certs/ --keystore-password SeCrEt
> 
> This fails in the current version 4.10.0 (virtual appliance):
> 
> Error: Could not find or load main class  
> mitm.application.djigzo.tools.CertStore
> 
> Is this import no longer available? /usr/share/djigzo-gateway-  
> console/lib/djigzo.jar still contains CertStore.class

We have refactored certain parts and all jar files are now placed in  
the lib dir. To run the cert store tool use the following command:

java -cp '/usr/share/djigzo/lib/\*'  
mitm.application.djigzo.tools.CertStore

Kind regards,

Martijn Brinkers

> **···**
>
> On Tue, 2020-12-15 at 19:05 +0000, Stefan Michael Guenther via Users wrote:
> 
> > When I add the path to the jar file, I only get another error:
> > 
> > java -cp /usr/share/djigzo-gateway-console/lib/djigzo.jar  
> > mitm.application.djigzo.tools.CertStore --import-keys --dir  
> > /path/to/certs/ --keystore-password SeCrEt  
> > Error: A JNI error has occurred, please check your installation and  
> > try again  
> > Exception in thread "main" java.lang.NoClassDefFoundError:  
> > org/apache/commons/cli/MissingArgumentException  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.getDeclaredMethods0(Native Method)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.privateGetMethodRecursive(Class.java:3048)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.getMethod0(Class.java:3018)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.getMethod(Class.java:1784)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at  
> > sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650  
> > )  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at  
> > sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)  
> > Caused by: java.lang.ClassNotFoundException:  
> > org.apache.commons.cli.MissingArgumentException  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.net.URLClassLoader.findClass(URLClassLoader.java:382)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:418)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at  
> > sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:351)  
> > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... 7 more
> > 
> > Thanks your any hints or suggstions.
> > 
> > Regards,
> > 
> > Stefan

---

<div class="post-metadata">

**Author:** ![Stefan\_Gunther](https://avatars.discourse-cdn.com/v4/letter/s/51bf81/32.png) [@Stefan\_Gunther](https://community.ciphermail.com/u/Stefan_Gunther)\
**Post date:** [December 16, 2020, 10:25am UTC](https://community.ciphermail.com/t/could-not-find-or-load-main-class-mitm-application-djigzo-tools-certstore/715/3 "2020-12-16T10:25:23Z")

</div>

Solved!

Thank you Martijn,

Regards,

Stefan

> **···**
>
> -----Ursprüngliche Nachricht-----
> 
> > Von: Martijn Brinkers via Users \<users(a)lists.ciphermail.com\>  
> > Gesendet: Mittwoch 16. Dezember 2020 10:58  
> > An: users(a)lists.ciphermail.com  
> > CC: Martijn Brinkers \<martijn(a)ciphermail.com\>  
> > Betreff: Re: Could not find or load main class mitm.application.djigzo.tools.CertStore
> > 
> > On Tue, 2020-12-15 at 19:05 +0000, Stefan Michael Guenther via Users \> wrote:  
> > \> Hello,  
> > \>  
> > \> in previous versions of CipherMail it was possible to import  
> > \> certificates with the following command:  
> > \>  
> > \> cd /usr/share/djigzo  
> > \> java -cp djigzo.jar mitm.application.djigzo.tools.CertStore --import-  
> > \> keys --dir /path/to/certs/ --keystore-password SeCrEt  
> > \>  
> > \> This fails in the current version 4.10.0 (virtual appliance):  
> > \>  
> > \> Error: Could not find or load main class  
> > \> mitm.application.djigzo.tools.CertStore  
> > \>  
> > \> Is this import no longer available? /usr/share/djigzo-gateway-  
> > \> console/lib/djigzo.jar still contains CertStore.class
> > 
> > We have refactored certain parts and all jar files are now placed in  
> > the lib dir. To run the cert store tool use the following command:
> > 
> > java -cp '/usr/share/djigzo/lib/\*'  
> > mitm.application.djigzo.tools.CertStore
> > 
> > Kind regards,
> > 
> > Martijn Brinkers
> > 
> > \> When I add the path to the jar file, I only get another error:  
> > \>  
> > \> java -cp /usr/share/djigzo-gateway-console/lib/djigzo.jar  
> > \> mitm.application.djigzo.tools.CertStore --import-keys --dir  
> > \> /path/to/certs/ --keystore-password SeCrEt  
> > \> Error: A JNI error has occurred, please check your installation and  
> > \> try again  
> > \> Exception in thread "main" java.lang.NoClassDefFoundError:  
> > \> org/apache/commons/cli/MissingArgumentException  
> > \> at java.lang.Class.getDeclaredMethods0(Native Method)  
> > \> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)  
> > \> at java.lang.Class.privateGetMethodRecursive(Class.java:3048)  
> > \> at java.lang.Class.getMethod0(Class.java:3018)  
> > \> at java.lang.Class.getMethod(Class.java:1784)  
> > \> at  
> > \> sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650  
> > \> )  
> > \> at  
> > \> sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)  
> > \> Caused by: java.lang.ClassNotFoundException:  
> > \> org.apache.commons.cli.MissingArgumentException  
> > \> at java.net.URLClassLoader.findClass(URLClassLoader.java:382)  
> > \> at java.lang.ClassLoader.loadClass(ClassLoader.java:418)  
> > \> at  
> > \> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)  
> > \> at java.lang.ClassLoader.loadClass(ClassLoader.java:351)  
> > \> ... 7 more  
> > \>  
> > \>  
> > \> Thanks your any hints or suggstions.  
> > \>  
> > \> Regards,  
> > \>  
> > \> Stefan
