Ich kann nicht glauben, dass ich die einzige Person bin, die gegen dieses Problem antritt. Ich habe stundenlang gegoogelt und kein Glück gehabt. Die Java-Sicherheitsdokumentation scheint PKCS12-Zertifikate nicht gründlich zu behandeln.
Ich versuche, Java für benutzerspezifische PKCS12-Zertifikate einzurichten. Dies wird unter anderem verwendet, damit ich in Eclipse auf einen Trac-Server zugreifen kann, der über Zertifikate authentifiziert wird. Ich verwende das Trac Mylyn Integrations-Plugin für Eclipse.
Hier ist das Setup:
Ich möchte nun in der Lage sein, dass jeder Benutzer einfach eine Datei ändern kann, die ihm gehört (wie zum Beispiel die Datei ~ / .java.policy), und die zentrale Eclipse-Anwendung starten und auf das Trac-Repository zugreifen kann . Scheint einfach genug.
Im Moment kann ich die Datei $ ECLIPSE_HOME / eclipse.ini nur bearbeiten und hinzufügen
%Vor%Ok, das funktioniert, aber es gibt zwei Probleme damit:
Ich erinnere mich auch, dass Sie seit einiger Zeit die Datei $ JAVA_HOME / jre / lib / security / java.security bearbeiten und hinzufügen können
%Vor%Aber Eclipse scheint das nicht aufzugreifen. Könnte es sein, dass mein JAVA_HOME auf ein JDK zeigt und nicht auf die verschachtelte JRE des JDK?
Ich habe die Java-PKCS # 11-Referenz gesehen, auf die verwiesen wird folgende Eigenschaften: keyStoreURL="KEINE" keystoreType="PKCS11" keyStorePasswordURL = some_pin_url
Es gab eine weitere Referenz, die ich sah, die besagt, dass Sie die ~ / .java.policy-Datei so bearbeiten könnten, dass sie Folgendes enthält:
%Vor%Aber das wird auch nicht aufgenommen. Vielleicht funktioniert es tatsächlich und es wird nicht gelesen aus dem gleichen Grund, dass die Datei java.security nicht funktioniert oder vielleicht gar nicht funktioniert.
Einige Systemeigenschaften, die ich gesehen habe:
%Vor%Also, momentan denke ich, dass ich jeden Benutzer dazu zwingen muss, sein eigenes Eclipse intall zu haben. Ich weiß, es klingt wie ein kompliziertes Setup, aber das sollte eigentlich nichts mit Eclipse zu tun haben, was die Einrichtung des Zertifikats betrifft ... es ist wirklich ein Java-Setup für benutzerspezifische Zertifikate.
Irgendwelche Ideen?
Verwenden Sie eine Benutzer- spezifische Konfiguration .
Festlegen des privaten Konfigurationsbereichs
Der Standardspeicherort für einen privaten Konfigurationsbereich ist:
user-home-dir / .eclipse / & lt; Produkt-ID & gt; _ & lt; Produkt-Version & gt; / Konfiguration
Das Benutzer-Home-Verzeichnis wird durch die Java-Systemeigenschaft user.home festgelegt. Die Produkt-ID und Version werden von der Produktmarkerdatei .eclipseproduct unter der Eclipse-Installation erhalten.
Sie könnten alle diese Informationen in einer Datei speichern und daraus lesen und jede Variable im Code mit
setzen %Vor%Lass es mich wissen, wenn das dein Problem löst.