iText / BouncyCastle throws "java.lang.VerifyError: class overrides final method equals"
My best guess is that you have ended up with two different versions of Bouncy Castle on your classpath, and it happened so that the classloader has loaded the superclass from one version and is now trying to load the subclass from the other. The versions are different in that one of them defines a final equals method.
Had same error, my solution might come in handy. In my case all i was doing was digital signature of pdf documents, using Maven i had both IText(itextpdf.jar/version 5.4.2) & Bouncycastle(bcprov-jdk15on.jar/version 1.55) dependency in my pom.xml. Then i read a part in this iText book Digital Signatures for PDF documents about Bouncycastle-related problems.I removed the Bouncycastle(bcprov-jdk15on.jar/version 1.55) dependency and the error was gone(noob mistake- the bouncycastle dependency was already part of the itext dependency no need to have the two seperately).
NOTE: if you run into any Bouncycastle class file not found errors after removing bouncycastle dependency check this