powered by Jive Software

Problem using Microsoft JDBC driver with Openfire XMPP server

When I try to connect to SQL DB using the Microsoft JDBC driver, I got the following error

"com.microsoft.sqlserver.jdbc.ISQLServerConnection$$FastClassByProxool$$2b8cf6af "'s signer information does not match signer information of other classes in the same package

As a work around I did the following:

open the sqljdbc42.jar with winrar. in META-INF, delete MANIFEST.MF, MSFTSIG.SF and MSFTSIG.RSA

I have no idea if that was the correct way to get around this issue or not…

This happens when classes belonging to the same package are loaded from different JAR files, and those JAR files have signatures signed with different certificates - or, perhaps more often, at least one is signed and one or more others are not (which includes classes loaded from directories since those AFAIK cannot be signed).

So either make sure all JARs (or at least those which contain classes from the same packages) are signed using the same certificate, or remove the signatures from the manifest of JAR files with overlapping packages.

By removing these files **“MANIFEST.MF, MSFTSIG.SF and MSFTSIG.RSA” **it works fine, the question is whether this is the right way to do this? And You mentioned we need to make sure the jars should be signed with the same certificates, how can I change the signing information of the jars developed and shipped by third party? Thoughts?

as you removed “MANIFEST.MF, MSFTSIG.SF and MSFTSIG.RSA” it will be unsigned.now signed it with your generated certificates so you do have both jar which is signed by same certificates. There is no other way as far as i know.


I have filed this as OF-1404 to track a potential replacement within Openfire to use the Microsoft JDBC driver.