Tôi đang sử dụng Git trên Windows. Tôi đã cài đặt gói msysGit. Kho lưu trữ thử nghiệm của tôi có chứng chỉ tự ký tại máy chủ. Tôi có thể truy cập và sử dụng kho lưu trữ bằng HTTP mà không gặp sự cố. Chuyển sang HTTPS gây ra lỗi:
Sự cố về chứng chỉ SSL: không thể lấy chứng chỉ của tổ chức phát hành địa phương.
Tôi đã cài đặt chứng chỉ tự ký trong Tổ chức phát hành chứng chỉ gốc đáng tin cậy trên máy khách Windows 7 của mình. Tôi có thể duyệt đến URL kho lưu trữ HTTPS trong Internet Explorer mà không có thông báo lỗi nào.
Bài đăng trên blog này của Philip Kelley giải thích rằng cURL không sử dụng kho lưu trữ chứng chỉ của máy khách. Tôi đã làm theo lời khuyên của bài đăng trên blog để tạo một bản sao riêng tư curl-ca-bundle.crt
và định cấu hình Git để sử dụng nó. Tôi chắc chắn Git đang sử dụng bản sao của tôi. Nếu tôi đổi tên bản sao; Git phàn nàn rằng tệp bị thiếu.
Tôi đã dán vào chứng chỉ của mình, như đã đề cập trong bài đăng trên blog, tôi vẫn nhận được thông báo "không thể lấy chứng chỉ của tổ chức phát hành địa phương".
Tôi đã xác minh rằng Git vẫn hoạt động bằng cách sao chép Kho lưu trữ GitHub qua HTTPS.
Điều duy nhất tôi thấy khác với bài đăng trên blog là chứng chỉ của tôi là gốc - không có chuỗi nào để đạt được nó. Chứng chỉ của tôi ban đầu đến từ việc nhấp vào liên kết Trình quản lý IIS8 IIS 'Tạo chứng chỉ tự ký'. Có thể điều đó làm cho chứng chỉ theo một cách nào đó khác với những gì cURL mong đợi.
Làm cách nào để Git / cURL chấp nhận chứng chỉ tự ký?