OpenSuse에서 애플리케이션에 대한 자체 서명된 .pem 인증서를 설치하는 방법은 무엇입니까?

OpenSuse에서 애플리케이션에 대한 자체 서명된 .pem 인증서를 설치하는 방법은 무엇입니까?

최근 내 직장에서는 인터넷 사용 정책을 업데이트하고 Sophos 보안 계층을 구현하여 트래픽을 모니터링했습니다.

명령을 사용하여 git 저장소를 복제하려고 하는데 git clone다음 오류가 발생합니다.

fatal: unable to access 'https://github.com/openssl/openssl.git/': SSL certificate problem: self signed certificate in certificate chain

이는 "묵시적" 인증서 문제입니다. 어떻게 작동하게 할 수 있나요?

업데이트 1: 인증서는 브라우저(firefox)에서 성공적으로 작동하므로 정확합니다. 문제는 이러한 인증서를 사용하여 git SSL 확인을 활성화하는 방법입니다.

업데이트 2:

Firefox에서 얻은 인증서를 복사합니다.(다음에서 내보냈습니다.Firefox > 환경설정 > 개인정보 보호 및 보안 > 인증서 > 인증서 보기)도착하다 /etc/ssl/certs.

루트로 실행 c_rehash /etc/ssl/certs하고 git config --system http.sslCAPath /etc/ssl/certs.

다음 응답을 생성합니다. 복제가 중간에 시작되고 종료됩니다.

Cloning into 'openssl'...

remote: Enumerating objects: 9, done.

remote: Counting objects: 100% (9/9), done.

remote: Compressing objects: 100% (8/8), done.

fatal: The remote end hung up unexpectedly.89 MiB | 16.11 MiB/s   

fatal: early EOF

fatal: index-pack failed

답변1

Sophos 보안이 다음과 같은 역할을 하는 것 같습니다.중개자따라서 이 저장소에 대해 SSL/TLS 검사를 비활성화해야 합니다. 사용Stackoverflow의 답변:

단일 git 명령에 대해 TLS/SSL 확인을 비활성화하려면 -c올바른 구성 변수를 git에 전달하거나 Flow의 답변을 사용하십시오.

git -c http.sslVerify=false clone https://example.com/path/to/git 

특정 저장소에 대한 SSL 확인을 비활성화합니다. 저장소가 완전히 귀하의 통제하에 있는 경우 다음을 시도해 볼 수 있습니다.

git config http.sslVerify false

인증서(자체 서명)가 컴퓨터(Sophos 보안 소프트웨어)에 있으므로 문제는 인증서에 있는 것이 아닙니다. Sophos 소프트웨어를 중지하고(권한이 있는 경우) 다시 시도하여(브라우저에서도 마찬가지) 이를 증명할 수 있습니다.

이 인증서를 설치하려면(브라우저에서 허용하는 경우) 브라우저를 열고 SSL/TLS 사이트를 가리킨 다음 왼쪽에 있는 사이트를 클릭하고 인증서(PEM 형식)를 다운로드하세요. 그런 다음 파일을 복사 /etc/ssl/certs하고 실행합니다(결국).c_rehash /etc/ssl/certs

당신은 또한 실행을 시도할 수 있습니다

git config http.sslCAInfo /etc/ssl/certs/<self-signed certificate>.pem

또는

git config --system http.sslCAPath /etc/ssl/certs

git이 이 인증서를 수락하도록 하세요.

손으로 몇 가지 작업을 수행할 수도 있습니다. 디렉토리에서 config파일을 검색합니다. .git섹션에 [http]다음 줄을 추가하세요.

[http]
sslCAInfo = /etc/ssl/certs/<certificate>.pem
sslCAPath = /etc/ssl/certs/<certificate>.pem
sslCert = /etc/ssl/certs/<certificate>.pem

관련 정보