2009-03-19 3 views
9

나는이 문제에 맞서 싸울 유일한 사람이라고 믿을 수 없다. 나는 몇 시간 동안 인터넷 검색을 해봤지만 행운이 없었다. Java 보안 문서는 PKCS12 인증서를 철저하게 다루지 않습니다.Eclipse에서 사용자 특정 인증서를 사용하도록 Java를 설정하는 방법은 무엇입니까?

사용자 특정 PKCS12 인증서에 대해 Java를 설정하려고합니다. 무엇보다도, Eclipse에서 인증서를 통해 인증 된 Trac 서버에 액세스 할 수 있도록이 URL이 사용됩니다. Trac Mylyn 통합 플러그인을 Eclipse 용으로 사용하고 있습니다. 여기

는 설정이다 : 홈 디렉토리에 있습니다

  • 사용자/홈
  • 다중 사용자가에서 마운트/중앙
  • 각 사용자에 개인 인증서를 가지고 : ~/user.p12
  • 비밀번호 pass1234
  • 사용자 암호는 ~/password.txt에 0400 파일에 저장됩니다.
  • 에 대한 읽기 전용 트러스트 스토어는 다음과 같습니다.
  • JDK 1.6 /central/eclipse_3.4.0
  • JAVA_HOME = 설치 /central/jdk_1.6.0
  • 이클립스 3.4에 설치된 트러스트에 대한
  • 암호를 /central/ca.jks하지 :에서 CA입니다 이클립스는
  • JRE는 $ JAVA_HOME/JRE
  • 각 사용자에 사는이
  • ECLIPSE_HOME =/중앙/eclipse_3.4.0이 필요하기 때문에 /central/jdk_1.6.0
  • JAVA_HOME은 JDK 위치로 설정되어있는 ~/.ja va.policy 파일
  • https://trac.internal/trac
  • 에서 실행하는 TRAC 서버가
  • TRAC 서버는 같은 인증서

지금, 나는 단순히 자신이 소유 한 일부 파일을 수정하여 각 사용자를 가질 수 있기를 원하는를 (사용하여 인증 예를 들어, ~/.java.policy 파일), 중앙 Eclipse 애플리케이션을 시작하고 Trac 저장소에 액세스 할 수 있어야합니다. 충분히 단순 해 보입니다.

는 지금, 나는 일이 얻을 수있는 유일한 방법은 $ ECLIPSE_HOME/eclipse.ini 파일을 편집하고 작품을,

-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" 

확인을 추가하는 것입니다,하지만 두 가지 문제가 함께있다 :

  • 각 사용자는 자신의 ecipse 설치가 있어야합니다. (또는 사용자 파일에서 읽을 수있는 일식을 할 수 있습니까?)
  • 이클립스 특정, 나는 궁극적으로 Java 구성으로 갖고 싶습니다. 또한

, 나는 당신이 $ JAVA_HOME/JRE/lib/security/java.security 파일을 편집하고

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

를 추가하지만 이클립스가를 선택하지 않는 것 같습니다 수 백 시간에서 기억 쪽으로. 내 JAVA_HOME이 JDK를 중첩하고 JDK가 중첩 된 JRE를 가리 키지 않기 때문일 수 있습니까?나는 다음과 같은 속성을 참조하는 Java PKCS#11 Reference 본 적이

: keyStoreURL = "NONE" keyStoreType = "PKCS11" keyStorePasswordURL = some_pin_url 내가 본 다른 참조가 발생했습니다

당신이를 편집 할 수 있다고 ~/.java.policy 파일에는 다음을 포함 할 수 있습니다.

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

그러나 그 중 하나는 선택되지 않습니다. 아마도 실제로 작동하지 않으며 java.security 파일이 작동하지 않는 동일한 이유로 읽히지 않을 수도 있고 아니면 전혀 작동하지 않을 수도 있습니다.

일부 시스템 특성을 나는 본 적이 :

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" 

그래서 지금, 나는 자신의 이클립스 인스톨 한후에가 각 사용자를 가지고와 붙어있어 같아요. 나는 복잡한 설정처럼 들리지만,이 설정은 Eclipse와 관련이 없다. 실제로 사용자 설정 인증서를위한 Java 설정이다.

아이디어가 있으십니까?

답변

5

user-specific configuration을 사용하십시오. 개인 구성 영역의 위치를 ​​설정

개인 구성 영역의 기본 위치는 다음과 같습니다

사용자 홈 디렉토리/.eclipse/< 제품 ID > _ < 제품 버전 >/configuration

사용자 홈 디렉토리는 user.home Java 시스템 속성에 의해 결정됩니다. 제품 ID 및 버전은 Eclipse 설치의 .eclipseproduct 제품 마커 파일에서 가져옵니다.

0

당신은 파일에 모든 정보를 저장하고 읽고 사용하여 코드의 각 변수를 설정할 수 있습니다 :

System.setProperty(...); 

은 그 문제가 해결 될 때 알려주세요.

+0

코드가 없으므로 이클립스를 통해 trac에 액세스 할 수 있습니다. –

관련 문제