2017-12-05 1 views
0

저는 Git과의 상호 작용에 익숙하며 TFS 인프라와 결합하려고하지만 SSL 인증 문제가 발생했습니다. Github 없음, VSTS 없음. TFS는 구내에 있으므로 로컬 설치입니다.Visual Studio 2017 Enterprise + TFS 2018 + Git Clone = 로컬 발급자 인증서를 얻을 수 없습니다.

서버 부분 :

내가 윈도우 서버 2016에서 TFS 2018을 설치 한

그 인증서의 TFS 웹 서비스 (IIS 관리자) 기업 자체 서명 된 인증서를 생성하고 바인딩합니다.

TFS는 HTTPS를 통해서만 실행되도록 구성됩니다. HTTP가 HTTPS로 리디렉션됩니다. 버전 관리 시스템으로 새 프로젝트를 설치했습니다.

클라이언트 부분 :

내가 Windows 클라이언트의 두 가지 종류가 있습니다. Windows 7 SP1 및 10 주년 업데이트, 둘 다 Visual Studio 2017 Enterprise를 사용합니다.

신뢰할 수있는 루트 인증 기관으로 인증서를 설치하고 브라우저를 통해 연결하면 프로젝트 정보를 볼 수 없습니다. 브라우저가 없으면 인증서의 신빙성에 관한 경고를 발생시킵니다. 그런 다음 Windows 보안 채널 라이브러리를 사용하여 Git-2.15.1.2-64-bit.exe를 설치했습니다.

나는 치명적인 오류를 얻고 있었기 때문에이 guide을 추적하여 Git 클라이언트를 구성했습니다. 기본적으로 자체 서명 된 내용을 추출하고 ca-bundle.crt 파일에 추가했습니다. 그들 모두 :

  • C :/프로그램 파일/힘내/mingw64/SSL/인증서 표시/
  • C : \ 사용자 \ MyName로 (단지 가이드와 같은 글로벌 하나로 만든 말한다)
  • C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Git \ mingw32 \ ssl \ certs (Visual Studio 2017 설치로 만들어 짐)

Powershell "git config --list --show-origin"명령을 사용할 때 목록에 표시됩니다 :C :/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt 파일 : "C : \ users \ gifconfig" MyName로/.gifconfig "http.sslcainfo = C : : 나는 말을 계속 VS2017 팀 탐색기 패널에서 저장소를 복제하려고하면

/users/myname/ca-bundle.crt"망할 놈의 치명적인 오류로 실패했습니다. 치명적인 : 액세스 'https://tfs.blahblah/'수 없음 : SSL 인증서 문제 "

을 지역 발급자 인증서를 얻을 수 없습니다하지만 힘내 GUI를 사용하는 경우는 다른 오류로 응답 : 치명적인 : 원격 심판 HEAD를 찾을 수 없습니다 더가 부착 커밋되기 때문에 은 내가 아는 한 그것은

. 합리적인 보지 않는다하지만 비주얼 스튜디오와 "쌍"2017

내가 몇 가지 링크를 통해 읽을 수 있다면 난 아무것도를 저지 할 수 ,하지만 그것을 통해 얻을 수 없습니다.중복으로 표시하기 전에 필자는 특정 시스템/환경 요구 사항에주의를 기울여 주시기 바랍니다.

참고 : 이미 그것을 이야기로 기업/기업 환경

+0

오류에 따르면 SSL 설정이 제대로 구성되어 있지 않은 것 같습니다. VSTS와 같은 다른 SSL URL도 있었습니까? 테스트를 거쳐야합니다. –

답변

1

시스템 관리 지원 이일 이후의 솔루션이 아닙니다 때문에 SSL 떨어져 스위치에 저를 제안하지 마십시오, 내가 가진 해결책. 다른 사람에게 도움이 될 수 있도록 여기에 게시합니다. Visual Studio 2017은 오류 상태 ("local issuer blah blah")로 자체 서명 인증서를 수락하지 않습니다. 승인하려면 로컬 CA 여야합니다. 단계했다 :

  1. 는 회사/TFS 시스템에서 신뢰할 수있는 CA를 설치 신뢰할 수있는 기관의 루트
  2. TFS에 대한 인증서를 준비하고 기업에서 파생 만들/신뢰할 수있는 CA :

    서버

    1. 설치 CA :
    2. 는 HTTPS 연결에

    클라이언트 강제로 TFS 인증서를 확인하기 위해 바인딩 TFS 기계

  3. 구성 TFS-IIS에서 신뢰할 수있는 기관의 루트로 설치 (Windows 7 및 10에서 시도한) 클라이언트 컴퓨터의 신뢰할 수있는 기관 루트로 인증서
  4. 클라이언트 컴퓨터에서 신뢰할 수있는 기관 루트로 TFS 인증서를 설치합니다. 브라우저의 잠금 장치가 보이고 연결을 통해 안전하게 인식되어야 함)
  5. Git 클라이언트 설치 (Git-2.15.1.2-64-bit).
  6. 쉘 (cmd, Powershell, Git-bash)을 실행하고 다음 명령을 입력하십시오 : git config --global http.sslCAInfo C : /Users//ca-bundle.crt 인증서를 저장할 폴더는 기본적으로 두 가지 모두의 글로벌 경로를 만듭니다.
  7. 이제이 콘텐츠가 포함 된 새로운 .gitconfig 파일을 볼 수 있습니다. [http] sslCAInfo = C :/Users // ca -bundle.crt
  8. "git config --list --show-origin"명령을 추가하면 새로운 경로/config가 추가되어야합니다.
  9. ca-bundle.crt를 C : \ Program Files \ Git \ mingw64 \ ssl \ certs 경로 C :/Users // 경로
  10. CA 인증서를 Base 64 X.509 (.CER)로 내 보낸 경로 (IE 인터넷 옵션/내용/인증서에서 인증서를 볼 수 있음).
  11. Notepad ++와 같은 편집기로 열거 나 방금 내 보낸 CA 인증서를 엽니 다. -----BEGIN CERTIFICATE-----publickey-----END CERTIFICATE-----
  12. 복사이 내용
  13. 를 열고 C : 콘텐츠해야 /Users//ca-bundle.crt 및 자료 (64) X.509으로 콘텐츠를
  14. 수출 TFS 인증서를 추가 붙여 넣기 (.CER) 업에 너에게가는 ​​길.
  15. 원하는 편집기로 열고 내용을 복사하십시오.
  16. C :/Users // ca-bundle을 엽니 다.CRT 및 콘텐츠
  17. 파일을 저장 이제

당신이 저장소를 복제 할 수 있어야를 추가 붙여 넣습니다.

기본적으로 요점은 인증서에 모든 체인 권한이 있어야하며 이어야합니다.

+0

환영합니다. 완료 :) – DioBrando

관련 문제