Re: Re: Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jcajce/util/JcaJceHelper
David Hook <dgh-rTAZ0PM/[email protected]>
| Newsgroups | gmane.comp.encryption.bouncy-castle.devel |
|---|---|
| Message-ID | <[email protected]> |
Sounds like the provider is not set up. Links for instructions on installation of the provider, as well as other documentation, are available at: https://www.bouncycastle.org/documentation.html Regards, David On 14/06/18 10:40, Russell Haley wrote: > > > On Wed, Jun 13, 2018 at 4:53 PM, Russell Haley <[email protected] > <mailto:[email protected]>> wrote: > > Hi, > > I'm relatively new to Java so I'm unsure if this is a mistake on > my part or not. I have been using the example code to build out a > utility that signs files and puts the signature in a ZipEntry > comment for validation. At this point I'm just trying to generate > a keypair and I'm getting the following error: > > Exception in thread "main" java.lang.NoClassDefFoundError: > org/bouncycastle/jcajce/util/JcaJceHelper > at > com.telarraydiagnostics.ova.alpha.scripts.BatchScriptManager.exportKeyPair(BatchScriptManager.java:228) > at > com.telarraydiagnostics.ova.alpha.scripts.BatchScriptManager.doOpts(BatchScriptManager.java:167) > at > com.telarraydiagnostics.ova.alpha.scripts.BatchScriptManager.main(BatchScriptManager.java:131) > Caused by: java.lang.ClassNotFoundException: > org.bouncycastle.jcajce.util.JcaJceHelper > at java.net.URLClassLoader.findClass(Unknown Source) > at java.lang.ClassLoader.loadClass(Unknown Source) > at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) > at java.lang.ClassLoader.loadClass(Unknown Source) > ... 3 more > > > My function is a copy/paste of the > RSAKeyPairGenerator.exportKeyPair function. The troubled code is > in RSAKeyPairGenerator.java on line 53. I downloaded the sources > for bcpg-jdk15on-159.jar and there doesn't seem to be any jcajce > or util folder and no sign of a JcaJceHelper class at all? > > Any input would be great. > > Okay, more digging shows that the jcajce stuff is in the bcprov jar > file. I have since added bcprov-jdk15on-159.jar and > bcprov-ext-jdk15on-159.jar to my classpath. However, I am getting an > error "cannot create cipher: No such provider: BC" from the following > code: > > PGPSecretKey secretKey = new > PGPSecretKey(PGPSignature.DEFAULT_CERTIFICATION, keyPair, identity, > sha1Digest, null, null, > new > JcaPGPContentSignerBuilder(keyPair.getPublicKey().getAlgorithm(), > HashAlgorithmTags.SHA1), > new > JcePBESecretKeyEncryptorBuilder(PGPEncryptedData.CAST5, > sha1Digest).setProvider("BC").build(pas > > I'll have another look at this in the morning, but any help would > still be grand. > > Thanks again, > Russ > > > Thanks for the wonderful library. I look forward to putting it to > great use. > > Russ > >