git 서버가 클라이언트 인증서를 요청한다면 git에 클라이언트 인증서를 설정하여야 한다.

만약 유효한 클라이언트 인증서를 설정을 하지 않으면 403에러가 발생한다.



클라이언트 인증서를 설정하기 위해 cmd에서 아래 두 줄을 실행한다.

git config --global http.sslKey "개인키파일 절대경로"

git config --global http.sslCert "공개키파일 절대경로"

경로가 올바르지 않다면 에러가 발생하므로 주의한다. 만약 --global로 되지 않을 경우 --local, --system으로도 시도해본다.


# 만약 인증서가 PKCS12형태로 저장되어 있다면 openssl로 포팅을 한다.

openssl pkcs12 -in 인증서.pfx -clcerts -nokeys -out 공개키파일

openssl pkcs12 -in 인증서.pfx -nocerts -out 개인키파일 -nodes

# 설정을 잘못한 경우 삭제한다.

git config --global --unset http.sslKey

git config --global --unset http.sslcert




SourceTree에서 사설인증서를 사용하는 git 서버에 접근할 경우 아래와 같은 에러가 발생한다.



git 툴은 자체 CA 파일을 참조하기 때문에 Windows의 certmgr에 사설 인증서를 추가해도 인식을 하지 못한다. C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt 파일의 맨 끝에 직접 인증서를 추가하면 된다.

(인증서 체인 상의 모든 인증서(루트, 중간 등)를 여기에 추가하면 된다.)

Visual Studio에서 git을 사용하는 경우에는 certmgr에 사설 인증서를 추가하면 된다.



+ Recent posts