2011-11-14 3 views
6

https를 통해 액세스 할 수있는 git repo를 사용하고 싶습니다 .Https 서버에는 자체 서명 인증서가 있습니다. 일식 + egit로 REPO를 복제하는 동안 난 항상 오류가 발생합니다 :자체 서명 된 인증서로 로그인, https

https://host/path을 열 수 없습니다 자식 업로드 - 팩 sun.security.validator.ValidatorException : PKIX 경로를 건물 실패 : sun.security합니다. provider.certpath.SunCertPathBuilderException : 수 없습니다 요청한 대상에 대한 유효한 인증 경로를 찾을 수

이 문제를 무시할 수 있습니까? export GIT_SSL_NO_VERIFY=1 명령을 사용하여 콘솔 클라이언트로 ssl 확인을 건너 뜁니다. 이 트릭은 일식과 함께 작동하지 않습니다.

감사합니다,

Hubi

답변

11

필요가있을 수 있습니다. Eclipse에서 Window -> Preferences로 이동하십시오.

Team 팀이 이동에서 -> 힘내 -> 구성

클릭 "새 항목"

키 : http.sslVerify 값 : 거짓

"확인"을 클릭

클릭 "OK"

내 블로그 게시물을 확인하는 자세한 방법은 여기를 참조하십시오. http://www.pur-logic.com/2012/04/21/egit-self-signed-certificate/

+0

호스트 이름 대신 IP 주소를 사용하면이 문제가 발생합니까? – Chris

+2

"http.sslVerify : false"를 사용하는 "자체 서명 된 인증서 및 자식"과 관련된 수많은 답변에서 보안 PoV **의 끔찍한 사례이며 절대적인 최후의 수단이어야합니다. 특히 다른 옵션. 이 답변은 문제를 해결하고 다른 사람들을 열어줍니다. 일반적으로 훨씬 심각하다고 여깁니다. 하지만 헤이, 해커도 먹어야 돼, 그렇지? :) 근본적인 문제는 egit/eclipse에서 사용하는 Java가 자체 서명 인증서를 신뢰하지 않는다는 것입니다. 그리고 해결책은 단순히 그것을 cacert에 등록하는 것입니다. – shturec

+0

+1 @shturec! 한 사이트에서 ssl 확인을 사용 중지하는 것은 아니지만 모든 사이트에서 SSL 인증을 사용 중지 할 수 있습니다. 그것은 끔찍하고 매우 안전하지 않은 해결책입니다. –

5

당신은 (하나의 기본 키 스토어 사용자의 JDK 디렉토리의 cacerts 또는 매개 변수 -Djavax.net.ssl.trustStore 하나를 지정) 키 스토어에 해당 인증서를 가져와야합니다 . FAQ of CAcert

+0

이 하나 열리지 보안 취약점 및 바람직 하나이어야하는 것은 그것이 않음으로서 정확한 문제에 대한 해결책 - egit이 사용하는 자바가 인증서를 신뢰할 수있는 것으로 인식하지 못합니다. – shturec

0

는 키 도구에 대한 명령 줄을 제공합니다

keytool -keystore $/PATH/TO/CACERTS/KEYSTORE -storepass changeit -import -trustcacerts -v -alias cacertclass1 -file root.crt 
  • 은 결국 당신이 정상 인증서를 가져 -trustcacerts를 생략해야합니다.
  • -alias
  • 은 또한 단지 서버 확인을 무시 eGit을 설정할 수 있습니다
0

나는이 문제에도 약간의 문제가 있었지만 다른 이야기가있었습니다. Git repo의 호스트 이름이 인증서의 호스트 이름과 일치하지 않습니다. 해결책은 호스트 이름과 일치하도록 인증서를 변경하는 것이 었습니다.

+0

어떻게했는지 설명 할 수 있습니까? 나는 이것이 또한 내 문제라고 생각한다. –

관련 문제