Red Hat Bugzilla – Bug 685007
Update RemoteClientProxy to work with signed jars
Last modified: 2015-02-01 18:26:52 EST
Right now RemoteClientProxy.simplifyInterface() takes an interface class and tries to create a new class in the same package by appending the interface name with "Simple". When that interface is from a signed jar, loading the resulting class fails with an error similar to
2011-03-14 18:34:45,497 ERROR [RHQ Client Prompt Input Thread]
(org.rhq.enterprise.client.RemoteClientProxy)- Failed to
simplify interface org.rhq.enterprise.server.auth.SubjectManagerRemote.
javassist.CannotCompileException: by java.lang.SecurityException: class
moteSimple"'s signer information does not match signer information of other
classes in the same package
RemoteClientProxy.simplifyInterface() appears to support recovering from such as errors, by returning the original interface, but as shown in https://bugzilla.redhat.com/show_bug.cgi?id=685003 that doesn't appear to work as expected.
Note that this has been the intended behaviour since introduction of CLI.
The RemoteClientProxy "simplifies" the remote interfaces by removing the Subject parameter from them. The JS client then actually uses these simplified interfaces to do the remote calls. The currently logged in user is used behind the scenes to automatically insert that parameter back when doing the actual remote call.
The fix here, I think, is to change the package the simplified interface is declared in.
This method changed location in RHQ 4 codebase and is now declared in:
in the modules/enterprise/binding module
Simplified interfaces now have a different package than the original interface. For example, the simplified interface for "org.rhq.enterprise.server.auth.SubjectManagerRemote" is now "org.rhq.enterprise.server.auth.wrapped.SubjectManagerRemoteSimple" - [master 40faf17].
to verify requires a jon build from brew (with signed jars)
verified JON3 Beta ... a build created with Brew and signed-jars...
Bulk closing of old issues that are in VERIFIED state.