MichaelN
I'm new here

fs-access-5.0BETA-37.jar - "Not trusted" -> ServerCaller.class.getSigners() ist null

Hallo,

ich habe eine eclipse-RCP Anwendung welche per OSGI ein Bundle einbindet, welches die neue fs-access-5.0BETA-37.jar nutzt.

Beim Aufbau der Verbindung zum FirstSpirit-Server erhalte ich die folgende Exception:

"Authorisation error - java.lang.SecurityException: Not trusted"

Der Grund scheint zu sein (beim Debuggen festgestellt), dass ServerCaller.class.getSigners() null liefert.

Unter anderem erscheint beim Start der Anwendung folgende Exception:

java.security.NoSuchAlgorithmException: No algorithm found for 2.16.840.1.101.3.4.2.1

    at org.eclipse.osgi.internal.signedcontent.PKCS7Processor.findDigest(PKCS7Processor.java:87)

    at org.eclipse.osgi.internal.signedcontent.PKCS7Processor.processSignerInfos(PKCS7Processor.java:311)

    at org.eclipse.osgi.internal.signedcontent.PKCS7Processor.<init>(PKCS7Processor.java:133)

    at org.eclipse.osgi.internal.signedcontent.SignatureBlockProcessor.processSigner(SignatureBlockProcessor.java:93)

    at org.eclipse.osgi.internal.signedcontent.SignatureBlockProcessor.process(SignatureBlockProcessor.java:59)

    at org.eclipse.osgi.internal.signedcontent.SignedBundleFile.setBundleFile(SignedBundleFile.java:47)

    at org.eclipse.osgi.internal.signedcontent.SignedBundleHook.wrapBundleFile(SignedBundleHook.java:209)

    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.createBundleFile(BaseStorage.java:756)

    at org.eclipse.osgi.baseadaptor.BaseAdaptor.createBundleFile(BaseAdaptor.java:486)

    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.createBundleFile(ClasspathManager.java:261)

    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.getClasspath(ClasspathManager.java:234)

    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.addClassPathEntry(ClasspathManager.java:199)

    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassPathEntry(ClasspathManager.java:177)

    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.buildClasspath(ClasspathManager.java:155)

    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.initialize(ClasspathManager.java:88)

    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.initialize(DefaultClassLoader.java:204)

    at org.eclipse.osgi.internal.loader.BundleLoader.createBCL(BundleLoader.java:929)

    at org.eclipse.osgi.internal.loader.BundleLoader.createBCLPrevileged(BundleLoader.java:905)

    at org.eclipse.osgi.internal.loader.BundleLoader.createClassLoader(BundleLoader.java:384)

    at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)

    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)

    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:164)

    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679)

    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)

    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)

    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130)

    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)

    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)

    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)

    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)

    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)

    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)

    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

Die Jar Datei scheint mit Hilfe von SHA256 signiert zu sein. Eclipse versteht diesen Algorithmus aber nicht!?

Und was jetzt?

Teste ich die FirstSpirit-Verbindung per jUnit-Test, so ist ServerCaller.class.getSigners() ordnunggemäß

gefüllt/gesetzt und die Verbindung funktioniert.

Bis zur Version fs-access-4.2.453.jar funktioniert Alles wunderbar.

Wieso ist ServerCaller.class.getSigners() null, wenn ich es über die eclipse-RCP Anwendung starte, und wieso

nur bei dem neuen API?

Ich hoffe jemand kann mir helfen.

Schönen Gruß

Michael

0 Kudos
4 Replies
feddersen
Community Manager

Hallo Michael,

das Problem scheint bereits gefixt zu sein:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=378155

0 Kudos

Wir stellen die Signierung wieder auf SHA-1 um.

Peter
0 Kudos
Andreas-Knoor
Crownpeak Employee

Mit den 5.0 Release-Candidate ist die Umstellung durchgeführt worden:

FirstSpirit 5.0 Release-Candidate available (5.0.102)

0 Kudos
AuM
I'm new here

Hallo Herr Nahberger,

konnten Sie dieses Problem lösen? Falls ja, funktioniert Ihre Lösung auch mit FirstSpirit 5.2?

Danke und Gruß,

Martin

0 Kudos