ทั้งหมดฉันมีห่วงโซ่ใบรับรองที่ใช้งานได้ (ทดสอบได้กับ OpenSSL) แต่อย่างใดฉันไม่สามารถจัดการเพื่อบอก Git ให้โหลดใบรับรองเหล่านี้ได้
ฉันจะได้รับเหมือนกัน "ผู้มีอำนาจรากที่ไม่น่าเชื่อถือ" ข้อผิดพลาด (SEC_E_UNTRUSTED_ROOT) อิสระว่าจุดที่กำหนดค่าคอมไพล์ของฉันไปยังไฟล์หรือห่วงโซ่ใบรับรองปลอมที่มีอยู่
สำหรับรายละเอียดโปรดตรวจสอบภาพหน้าจอที่แนบมา
การตั้งค่าที่ฉันใช้.gitconfig
เป็นไฟล์ปลอม:
sslCAInfo = C:/tmp/foobar.crt
หรือสำหรับไฟล์จริงที่ทำงานกับ OpenSSL:
sslCAInfo = C:/tmp/ca-bundle.crt
ทรานสคริปต์คอนโซล:
C:\tmp>openssl version
OpenSSL 0.9.8h 28 May 2008
C:\tmp>git --version
git version 2.12.2.windows.2
C:\tmp>git config --list
http.sslverify=true
http.sslcainfo=C:/tmp/ca-bundle.crt
C:\tmp>dir
24.04.2017 13:45 10.875 ca-bundle.crt
c:\tmp>openssl s_client -state -connect https://mygithost:443 -CAfile .\ca-bundle.crt
Verify return code: 0 (ok)
C:\tmp git clone https://mygithost/bitbucket/scm/my.git
Cloning into ...
fatal: unable to access ... : schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) - The certificate chain was issued by an authority that is not trusted.
C:\tmp> git -c http.sslverify=false clone https://mygithost/bitbucket/scm/my.git
Cloning into ...
Resoliving deltas: 100%, done.
C:\tmp>git config --list
http.sslverify=true
http.sslcainfo=C:/tmp/foobar.crt
C:\tmp\xxx\git pull
fatal: unable to access ... : schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) - The certificate chain was issued by an authority that is not trusted.
set SSL_CERT_FILE=C:\tmp\ca-bundle.crt
จะบอก OpenSSL ที่จะหามัด
C:\git config --get-all-- => error: wrong number of arguments