Nie mogę uwierzyć, że jestem jedyną osobą, która boryka się z tym problemem. Odwiedzam go od wielu godzin i nie mam szczęścia. Dokumentacja bezpieczeństwa Java nie wygląda dokładnie na certyfikaty PKCS12.Jak skonfigurować Javę, aby używała certyfikatów określonych dla Eclipse?
Próbuję skonfigurować Javę dla określonych certyfikatów PKCS12 użytkownika. Między innymi będzie to używane, aby w Eclipse uzyskać dostęp do serwera Trac uwierzytelnionego za pomocą certyfikatów. Korzystam z wtyczki Trac Mylyn do zaćmienia.
Oto konfiguracja:
- użytkownik katalogi domowe są w/home
- wielu użytkowników zamontować w/centralny
- każdy użytkownik posiada certyfikat osobisty pod adresem: ~/user.p12
- hasło dla certyfikatów osobistych jest: pass1234
- hasła użytkowników są przechowywane w pliku 0400 w ~/password.txt
- sklep zaufanie tylko do odczytu CA jest pod adresem: /central/ca.jks
- nie hasło truststore
- JDK 1.6 zainstalowanego na /central/jdk_1.6.0
- Eclipse 3.4 zainstalowanego na /central/eclipse_3.4.0
- JAVA_HOME = /central/jdk_1.6.0
- JAVA_HOME jest ustawiony na lokalizację JDK ponieważ Eclipse potrzebuje tego
- ECLIPSE_HOME =/centralna/eclipse_3.4.0
- JRE mieszka w $ JAVA_HOME/jre
- każdy użytkownik ma ~/.ja Plik va.policy
- znajduje się serwer trac działa na https://trac.internal/trac
- serwer trac uwierzytelnia przy użyciu certyfikatów
Teraz chcę, aby móc mieć każdy użytkownik po prostu zmodyfikować jakiś plik, że własne (jak na przykład plik ~/.java.policy) i być w stanie uruchomić centralną aplikację Eclipse i uzyskać dostęp do repozytorium Trac. Wydaje się dość proste.
Teraz jedynym sposobem mogę uzyskać to do pracy jest, aby edytować/eclipse.ini plik $ ECLIPSE_HOME i dodać
-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, że działa, ale istnieją dwa problemy z tym:
- Każdy użytkownik musi mieć własną instalację ekipsu. (lub czy zaćmienie może to odczytać z pliku użytkownika?)
- Jest to specyficzne dla Eclipse, ostatecznie chciałbym mieć to jako konfigurację Java.
Również pamiętam od jakiegoś czasu z powrotem, które można edytować/Bezpieczeństwo pliku $ JAVA_HOME/jre/lib/java.security i dodać
keystore=/home/user/user.p12
keystore.type=PKCS12
keystore.password=pass1234
truststore=/central/ca.jks
Ale Eclipse nie wydaje się, że pick w górę. Czy to możliwe, ponieważ mój JAVA_HOME wskazuje na JDK, a nie na zagnieżdżone JRE JDK?
Widziałem Java PKCS#11 Reference odwołujący następujące właściwości: keyStoreURL = "none" keyStoreType = "pkcs11" keyStorePasswordURL = some_pin_url
Nie było innego odniesienia Widziałem, że wspomniana można edytować ~/Plik .java.policy zawiera:
keyStore "file:///home/user/user.p12", "PKCS12", "SunJSSE";
keyStorePasswordUrl "file:///home/user/password.txt";
Ale tego również nie można odebrać. Może faktycznie działa i nie otrzymuje odczytu z tego samego powodu, dla którego plik java.security nie działa, a może po prostu nie działa.
Niektóre właściwości systemu widziałem:
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"
Więc teraz, myślę, że utknąłem z konieczności każdemu użytkownikowi mieć własne Eclipse nienaruszony. Wiem, że to brzmi jak skomplikowana konfiguracja, ale to nie powinno mieć nic wspólnego z Eclipse, jeśli chodzi o konfigurację certyfikatu ... to naprawdę konfiguracja Java dla certyfikatów specyficznych dla użytkownika.
Wszelkie pomysły?
Nie ma kodu, jego wtyczki po prostu zaćmienie, więc mogę uzyskać dostęp do trac przez zaćmienie. –