Signierung von jar gelingt nicht

Hallo,

ich habe ein kleines Programm in dem ich eine Oracle SQL abfrage ausführe (mit Java 6 kein Problem). Seit dem Update auf Java 1.7.0_25 bzw. jetzt auf update 1.7.0_45 muss ich die Jar´s ja signieren allerdings kommt auch nach dem händischen Signieren Anwendung kann nicht gestartet werden..

Unsignierter Eintrag gefunden in Ressource: ......ojdbc6_g_11g.jar

Ich habe diese jar wie alle anderen in dem Programm signiert (mit dem SignTool by @L-ectron-X )… aber anscheinend klappt das für diese jar nicht, oder ich brauche eine neuere?

kann mir da jemand einen Tipp geben?

Hmm. Interessant. Eine Jar, die sich nicht signieren ließ? Bereits schon signiert? Schreibgeschützt vielleicht?

Wie sieht denn das Jar-Archiv aus, wenn du es in einem Packprogramm ansiehst? Gibt es das für Jar-Dateien das typische META-INF-Verzeichnis? Gibt es dort auch eine .sf und eine .dsa Datei?
Das lässt zumindest vermuten, dass die Jar-Datei signiert wurde.

Wie lauten die Einträge der Manifest-Datei? Dort müsen die signierten Dateien mit Name und Schlüssel aufgeführt sein.

Hi,

der META-INF Ordner ist vorhanden. Darin sind:
MANIFEST.mf
eine .SF
eine .DSA
und ein Ordner Services mit Java.sql.Driver

ich habe den META-INF Ordner auch schon gelöscht gehabt und dann nochmal signiert, ohne Erfolg…

com.sun.deploy.net.JARSigningException: Unsignierter Eintrag gefunden in Ressource: http://xxx.xxx.xxx.xxx/xxx/xxx/signTestJava7u5/lib/ojdbc6_g_11g.jar
at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.sun.javaws.security.SigningInfo.check(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Eigentlich sollte es genügen die Signatur-Dateien (.sf .dsa) zu löschen und neu zu signieren.
Es dürfen auch keine Dateien mit Umlauten in den zu signierenden Jar-Dateien sein.

*** Edit ***

Ansonsten kann auch die Programmierung mit der JNLP-Api weiterhelfen.
Dazu findest du einen Link ganz unten im Wiki-Artikel zu einem Oracle-Tutorial.

OK danke… ich werde weiter probieren :slight_smile:

Hi,

so jetzt bin ich noch ratloser als zuvor… das mit dem Signieren hat jetzt funktioniert, aber dafür kommt jetzt (ich mache eine Datenbankabfrage aus Oracle und gebe die in einer Tabelle aus) oracle java.sql.sqlexception no suitable driver found for jdbc:oracle:thin:@xxxxx.

Vor dem Signieren hat das funktioniert (mit Java 6 bzw. vor 7 update 25)…

was kann da passiert sein, oder muss ich den connect anders angeben wenn ich die Datei signiere?

*** Edit ***

ok, anscheinend muss bei Java 7 u 45 noch etwas ergänzt werden im SourceCode…

DriverManager.registerDriver (new oracle.jdbc.OracleDriver());

Und geht das nun? Oder besteht das Problem immer noch?