Wie einrichten von Java zur Verwendung von Benutzer-spezifische Zertifikate für Eclipse?

Ich kann nicht glauben, ich bin die einzige person, um gegen dieses problem. Ich ve wurde googeln für Stunden, und haben kein Glück gehabt. Das Java-security-Dokumentation scheint nicht zu Anschrift PKCS12-Zertifikate gründlich.

Ich bin versucht, setup-Java für Benutzer-spezifische PKCS12-Zertifikate. Unter anderem werden verwendet werden, so dass in der Eclipse kann ich den Zugriff auf eine Trac-server, der Authentifizierung über Zertifikate. Ich bin mit dem Trac-Mylyn-integration-plugin für eclipse.

Hier ist das setup:

  • Benutzer-home-Verzeichnisse unter /home
  • multiuser-mount unter /Mittel -
  • jeder Benutzer hat ein persönliches Zertifikat unter: ~/Benutzer.p12
  • Kennwort für persönliche Zertifikate ist: pass1234
  • das Benutzer-Passwort ist gespeichert in einem 0400-Datei unter ~/password.txt
  • ein nur-lese-trust store für die ca ist: - /zentral - /ca.jks
  • kein Passwort für den truststore
  • JDK 1.6 installiert, der unter /Mittel - /jdk_1.6.0
  • Eclipse 3.4 installiert, der unter /Mittel - /eclipse_3.4.0
  • JAVA_HOME=/zentrale/jdk_1.6.0
  • JAVA_HOME gesetzt ist, um die JDK-Speicherort, weil Eclipse braucht diese
  • ECLIPSE_HOME= - /zentral - /eclipse_3.4.0
  • JRE lebt in $JAVA_HOME/jre
  • jeder Benutzer verfügt über eine ~/.java.policy-Datei
  • es ist ein trac server mit https://trac.internal/trac
  • der trac-server authentifiziert durch Zertifikate

Nun, ich möchte in der Lage sein, jeden Benutzer einfach eine Datei ändern, die Sie besitzen (wie die ~/.java.policy-Datei, zum Beispiel), und in der Lage sein, um starten Sie die central Eclipse-Anwendung und Zugriff auf das Trac-repository. Scheint einfach genug.

Gerade jetzt, der einzige Weg, ich kann diese arbeiten ist die Bearbeitung der $ECLIPSE_HOME/eclipse.ini-Datei und fügen Sie

-Djavax.net.ssl.keyStore="/home/user/user.p12"
-Djavax.net.ssl.keyStoreType="PKCS12"
-Djavax.net.ssl.keyStorePassword="pass1234"
-Djavax.net.ssl.trustStore="/central/ca.jks"

Ok, das funktioniert, aber es gibt zwei Probleme mit ihm:

  • Jeder Benutzer hat eine eigene ecipse installieren. (oder kann eclipse gelesen, dass aus einer user-Datei?)
  • Es ist Eclipse-spezifisch, ich würde nämlich gerne das noch als Java-Konfiguration.

Auch, die ich mich erinnere, einige Zeit zurück, die Sie Bearbeiten können, die $JAVA_HOME/jre/lib/security/java.Sicherheit Datei, und fügen Sie

keystore=/home/user/user.p12
keystore.type=PKCS12
keystore.password=pass1234
truststore=/central/ca.jks

Aber Eclipse scheint nicht, um das aufzunehmen. Könnte es sein, weil meine JAVA_HOME zeigt auf eine JDK und nicht das JDK verschachtelten JRE?

Ich habe gesehen, das Java-PKCS#11-Referenz, die auf den folgenden Eigenschaften:
keyStoreURL="NONE"
keyStoreType="PKCS11"
keyStorePasswordURL=some_pin_url

Gab es einen weiteren Hinweis, den ich sah, sagte, man könne Bearbeiten der ~/.java.policy-Datei:

keyStore "file:///home/user/user.p12", "PKCS12", "SunJSSE";
keyStorePasswordUrl "file:///home/user/password.txt";

Aber nicht abgeholt entweder. Vielleicht ist es tatsächlich funktioniert und seine nicht immer Lesen aus dem gleichen Grund die java.Sicherheit Datei, die nicht funktioniert, oder vielleicht ist es nur überhaupt nicht funktioniert.

Einige system-Eigenschaften, die ich gesehen habe:

javax.net.ssl.keyStore="/home/user/user.p12"
javax.net.ssl.keyStoreType="PKCS12"
javax.net.ssl.keyStorePassword="password"
javax.net.ssl.keyStoreProvider="SunJSSE"
javax.net.ssl.trustStore="/home/user/ca.jks"
javax.net.ssl.trustStoreType="JKS"
javax.net.ssl.trustStorePassword=""
javax.net.ssl.trustStoreProvider="Sun"

So, jetzt, ich glaube, ich bin stecken mit, dass jeder Benutzer haben Ihre eigenen Eclipse installieren. Ich weiß, es klingt wie ein kompliziertes setup, aber das sollte nicht wirklich was zu tun mit Eclipse, soweit das Zertifikat setup... es ist wirklich ein Java-setup für Benutzer-spezifische Zertifikate.

Irgendwelche Ideen?

Schreibe einen Kommentar