स्व-हस्ताक्षरित प्रमाण पत्र के साथ विंडोज पर गिट का उपयोग करके "स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ" हल करने में असमर्थ


283

मैं विंडोज पर Git का उपयोग कर रहा हूं। मैंने msysGit पैकेज स्थापित किया। मेरे टेस्ट रिपॉजिटरी में सर्वर पर स्व हस्ताक्षरित प्रमाण पत्र है। मैं समस्याओं के बिना HTTP का उपयोग करके भंडार का उपयोग और उपयोग कर सकता हूं। HTTPS में जाने से त्रुटि होती है:

एसएसएल प्रमाणपत्र समस्या: स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ।

मेरे पास अपने विंडोज 7 - क्लाइंट मशीन के ट्रस्टेड रूट सर्टिफिकेशन अथॉरिटीज में स्थापित स्व हस्ताक्षरित प्रमाण पत्र है। मैं बिना किसी त्रुटि संदेश के इंटरनेट एक्सप्लोरर में HTTPS रिपॉजिटरी URL ब्राउज़ कर सकता हूं।

फिलिप केली की इस ब्लॉग पोस्ट ने बताया कि cURL क्लाइंट मशीन के सर्टिफिकेट स्टोर का उपयोग नहीं करता है। मैंने इसका उपयोग करने के लिए एक निजी प्रति बनाने curl-ca-bundle.crtऔर Git को कॉन्फ़िगर करने के लिए ब्लॉग पोस्ट की सलाह का पालन किया । मुझे यकीन है कि Git मेरी कॉपी का उपयोग कर रहा है। अगर मैं कॉपी का नाम बदलूँ; Git शिकायत करता है कि फ़ाइल गायब है।

मैंने अपने प्रमाण पत्र में चिपकाया, जैसा कि ब्लॉग पोस्ट में उल्लेख किया गया है, मुझे अभी भी "स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ" संदेश मिलता है।

मैंने सत्यापित किया कि Git अभी भी HTTPS के माध्यम से GitHub रिपॉजिटरी को क्लोन करके काम कर रहा था।

केवल एक चीज मुझे लगता है कि ब्लॉग पोस्ट के लिए अलग है कि मेरे प्रमाण पत्र है है यह तक पहुँचने के लिए कोई श्रृंखला है - जड़। मेरा प्रमाण पत्र मूल रूप से IIS8 IIS प्रबंधक लिंक 'सेल्फ स्वनिर्धारित प्रमाणपत्र' पर क्लिक करने से आया है। हो सकता है कि सर्टिफिकेट किसी तरह से अलग हो जाए, जो कि उम्मीद करता है।

मैं स्वयं हस्ताक्षरित प्रमाण पत्र स्वीकार करने के लिए Git / cURL कैसे प्राप्त कर सकता हूं?



1
यह भी जांचें कि क्या आपके स्थानीय नेटवर्क को फ़ाइलों को गिटबॉस रिपॉजिटरी में धकेलने की अनुमति है। कुछ फ़ायरवॉल या एंटीवायरस प्रतिबंध हो सकते हैं।
shasi kant

यदि किसी को Bower का उपयोग करते समय इस त्रुटि का सामना करना पड़ता है, तो सामग्री के साथ एक .bowerrc फ़ाइल बनाएं { "strict-ssl": false }। मुझे धन्यवाद मत दो, इस आदमी को धन्यवाद दो: stapp.space/fight-with-2 मैंने इस त्रुटि के साथ 5 घंटे के लिए संघर्ष किया है, सीधे !!
गणेश जाधव

जवाबों:


267

यदि आप SSL सत्यापन को पूरी तरह से अक्षम करना चाहते हैं तो Git Bash खोलें और कमांड चलाएं।

git config --global http.sslVerify false

नोट: यह समाधान आपको इन-द-मिडल हमलों जैसे हमलों के लिए खोल सकता है । इसलिए जितनी जल्दी हो सके फिर से सत्यापन चालू करें:

git config --global http.sslVerify true

70
यह जवाब मानव-में-मध्य हमलों की अनुमति देकर एसएसएल की सुरक्षा को हरा देता है। अन्य उत्तर पहले से ही समझाते हैं कि आपको जिस विशिष्ट प्रमाणपत्र की आवश्यकता है उस पर भरोसा करने के लिए कैसे कॉन्फ़िगर करें।
15

12
भयानक जवाब वास्तव में, आप उन्हें एसएसएल को वापस चालू करने के लिए भी नहीं कहते हैं। यही कारण है कि सुरक्षा कमजोरियां होती हैं।
एडगर अरौटियूनियन

यदि आप Gitblit का उपयोग कर रहे हैं तो sshVerify को गलत करने के बजाय कोई अन्य विकल्प नहीं है।
समीर

24
एकल git कमांड के लिए TLS / SSL सत्यापन को अक्षम करने के लिए, निम्न कमांड का उपयोग करें:git -c http.sslVerify=false clone https://domain.com/path/to/git
Maxim Suslov

1
नीचे दिए गए कई समाधान पहले से ही हैं, और मैंने पहले से ही विपक्ष का सुझाव दिया है। तो यह आपके ऊपर है कि आप इस मुद्दे को हल करने के लिए क्या समाधान उठा रहे हैं।
समीर

153

समस्या यह है कि "लिनक्स" क्रिप्टो बैकएंड का उपयोग करके डिफ़ॉल्ट रूप से गिट।

विंडोज 2.14 के लिए गिट के साथ शुरुआत, आप अब क्रिप्टो बैकएंड के रूप में अंतर्निहित विंडोज नेटवर्किंग परत SChannel का उपयोग करने के लिए Git को कॉन्फ़िगर कर सकते हैं। इसका अर्थ है कि आप इसका उपयोग Windows प्रमाणपत्र संग्रहण तंत्र में करेंगे और आपको कर्ल CA संग्रहण तंत्र को स्पष्ट रूप से कॉन्फ़िगर करने की आवश्यकता नहीं है: https://msdn.microsoft.com/en-us/library/windows/desktop/aa380123(v= vs.85) .aspx

बस निष्पादित करें:

git config --global http.sslbackend schannel

वह मदद करनी चाहिए।

Schannel का उपयोग करना अब तक मानक सेटिंग है जब विंडोज़ के लिए गिट स्थापित करते हैं, तो यह भी संभव है कि SSH amore द्वारा रिपॉजिटरी चेकआउट न करने की सिफारिश की जाए, क्योंकि https कॉन्फ़िगर करना आसान है और फ़ायरवॉल द्वारा ब्लॉक किए जाने की संभावना कम है, इसका मतलब विफलता की संभावना कम है।


1
ध्यान दें कि यह समाधान git config --global http.sslCAInfo <my-server-self-signed-cert.pem>काम करने में विफल हो सकता है । मैंने http.sslCAInfoअपने सर्वर के लिए स्व-हस्ताक्षरित प्रमाण पत्र का उपयोग करने के लिए कॉन्फ़िगर किया है, और इसका कारण है (ओपी के समान नहीं हो सकता है) जो मुझे "एसएसएल प्रमाणपत्र समस्या: स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ" का सामना करना पड़ा जब मैं उदाहरण के लिए ए git clone https://github.com/Microsoft/vscode.git। अंत में मैंने अपने sslCAInfo को विशिष्ट रूप से हल करने के लिए अपने sslCAInfo को ट्यून करने के लिए stackoverflow.com/a/47196562/1323552 (बेन पीपी तुंग) से उत्तर का उपयोग किया ।
जॉनी वोंग

94

मेरे पास भी यह मुद्दा था। मेरे मामले में, मैं प्रत्येक पुश के साथ सर्वर पर एक कार्यशील प्रतिलिपि अपडेट करने के लिए पोस्ट-प्राप्त गिट हुक प्राप्त करने की कोशिश कर रहा था। आपके द्वारा जुड़े ब्लॉग में दिए गए निर्देशों का पालन करने की कोशिश की। मेरे लिए भी काम नहीं किया और प्रति-उपयोगकर्ता के आधार पर सेटिंग्स को ओवरराइड करना या तो काम नहीं किया।

मैंने जो कुछ भी किया वह पूरी तरह से Git के लिए SSL सत्यापन (जैसा कि लेख में उल्लेख किया गया है) अक्षम किया गया था। सही समाधान नहीं है, लेकिन यह तब तक काम करेगा जब तक मैं एक बेहतर समझ नहीं सकता।

मैंने Git config टेक्स्ट फ़ाइल (अपने पसंदीदा लाइन-एंडिंग न्यूट्रल ऐप जैसे Notepad ++) पर स्थित संपादित की:

C: \ Program Files (x86) \ Git \ etc \ gitconfig

[Http] ब्लॉक में, मैंने sslVerify को निष्क्रिय करने का विकल्प जोड़ा। जब मैं किया गया था तो यह इस तरह दिखता था:

[http]
    sslVerify = false
    sslCAinfo = /bin/curl-ca-bundle.crt

यही चाल चली।

ध्यान दें:

  • यह SSL सत्यापन अक्षम करता है और इसे दीर्घकालिक समाधान के रूप में अनुशंसित नहीं किया जाता है।

  • आप इस प्रति-रिपॉजिटरी को अक्षम कर सकते हैं जो अभी भी महान नहीं है, लेकिन सेटिंग को स्थानीय बनाता है।

  • LetsEncrypt.org के आगमन के साथ, अब एसएसएल को स्व-हस्ताक्षरित समारोहों के विकल्प के रूप में स्थापित करने के लिए काफी सरल, स्वचालित और मुफ्त है और sslVerify को बंद करने की आवश्यकता को नकारता है।


145
यह एसएसएल के उद्देश्य को पराजित करता है।
7

49
SSL सत्यापन अक्षम करने के लिए आप "git config --global http.sslVerify false" कमांड का उपयोग कर सकते हैं
CleanCoder

6
sslCAinfoकॉन्फ़िगरेशन प्रविष्टि को इंगित करने के लिए धन्यवाद ; लेकिन मैं इसका उत्तर नहीं दे रहा हूं क्योंकि यह git सिस्टम-वाइड के लिए SSL को स्थायी रूप से अक्षम करने के लिए बहुत मायने नहीं रखता है (क्या आपने इसे सिस्टम-वाइड, फिर क्लोन करने के लिए अक्षम करने की कोशिश की है, फिर इसे सक्षम करें और फिर इसे अक्षम करें नए क्लोन रेपो के लिए स्थानीय गिट विन्यास?)।
7heo.tk

35
एक-बंद आदेश के लिए, कॉन्फ़िगर फ़ाइलों को बदलने की आवश्यकता नहीं है:git -c http.sslVerify=false clone https://...
pts


51

kiddailey मुझे लगता है कि यह बहुत करीब था, हालांकि मैं ssl सत्यापन को अक्षम नहीं करूंगा, बल्कि केवल स्थानीय प्रमाणपत्र की आपूर्ति करूंगा:

Git config फाइल में

[http]
    sslCAinfo = /bin/curl-ca-bundle.crt

या कमांड लाइन के माध्यम से:

git config --global http.sslCAinfo /bin/curl-ca-bundle.crt

7
खिड़कियों के लिए गिट पर, यह हैgit config --global http.sslCAinfo /usr/ssl/certs/ca-bundle.crt
Karsten Tinnefeld

या मेरे लिएgit config --global http.sslCAinfo /c/Program\ Files\ \(x86\)/Git/bin/curl-ca-bundle.crt
गौरैया

MacPorts पर उपयोगकर्ताओं के लिए, यह हैgit config --global http.sslCAinfo /opt/local/share/curl/curl-ca-bundle.crt
miken32

3
Git 2.8 के साथ आप यह git config --list --show-originदेखने के लिए उपयोग कर सकते हैं कि http.sslCAinfo कॉन्फिगरेशन कहाँ सेट है
अनीश

मैक पर मेरा प्रमाणपत्र स्थान है: ~ / macports / share / curl / कर्ल-सीए-बंडल-आर्ट
user3282611

47

मैंने इस मुद्दे का भी सामना किया। और अंत में इस MSDN ब्लॉग से मार्गदर्शन प्राप्त करके हल किया गया ।

अपडेट करें

वास्तव में आपको जीआईटी के सर्टिफिकेट फ़ाइल कर्ल-सीए-बंडल-सर्टिफिकेट में जोड़ने की जरूरत है जो कि जीआईटी \ बिन निर्देशिका में रहता है।

कदम

  1. ब्राउज़र में अपना github पृष्ठ खोलें, और पता बार में लॉक आइकन पर क्लिक करें।
  2. खुले हुए पॉपअप में 'व्यू सर्टिफिकेट' लिंक पर नेविगेट करें, यह एक पॉपअप विंडो खोलेगा।
  3. जिसमें प्रमाणपत्र टैब पर नेविगेट करें (मेरे मामले में तीसरा)। रूट सर्टिफिकेट वाले टॉप नोड का चयन करें। और बॉटम में कॉपी सर्टिफिकेट बटन दबाएं और फाइल को सेव करें।
  4. फ़ाइल एक्सप्लोरर में Git \ bin डायरेक्टरी को नेविगेट करें और टेक्स्ट एडिटर में curl-ca-bundle.crt खोलें।
  5. निर्यात प्रमाणपत्र फ़ाइल (चरण 3 में) पाठ संपादक में भी खोलें।
  6. निर्यात किए गए प्रमाणपत्र से सभी सामग्री को कर्ल-सीए-बंडल-आर्ट के अंत तक कॉपी करें, और सहेजें।

अंत में स्टेटस चेक करें। कृपया ध्यान दें कि सुरक्षित पक्ष पर बने रहने के लिए संपादन से पहले बैकअप कर्ल-सीए-बंडल-आर्ट फ़ाइल।


3
"Git \ bin डायरेक्टरी को नेविगेट करें और कर्ल-सीए-बंडल खोलें।" git \ bin में कर्ल-सीए-बंडल नहीं है।
एंटोन के।

@AntonK अगर यह मौजूद नहीं है, तो अपने आप को नोटपैड में बनाएं, और कर्ल-सीए-बंडल-आर्ट के साथ इसका नाम बदलें। अन्य चरण समान रहते हैं।
नदीम जमाली

16
@AntonK इसे बस कहा ca-bundle.crtजा सकता है mingw64\ssl\certsया इसमें स्थित हो सकता है mingw32\ssl\certs
इयान केम्प

एटलसियन के सोर्सट्री के लिए इसका इस्तेमाल किया। बंडल किए गए GIT इंस्टॉलेशन% userprofile% \ appdata \ local \ attlassian \ sourcetree \ git_local में है। कर्ल-सीए-बंडल. आर्ट पहले से ही मौजूद है, मेरे आधार 64 को एन्कोडेड एक्सपोर्ट रूट सर्टिफिकेट में जोड़ा गया है।
Xanothos

40

इस सवाल का जवाब विकास के लिए makecert का उपयोग करके SSL ने मेरे लिए यह तय किया।

मुझे पता नहीं क्यों, लेकिन IIS मैनेजर में सरल 'सेल्फ सेल्फ सर्टिफाइड सर्टिफिकेट' लिंक द्वारा बनाया गया सर्टिफिकेट ट्रिक नहीं करता है। मैंने स्व-हस्ताक्षरित CA रूट बनाने और स्थापित करने के लिंक किए गए प्रश्न में दृष्टिकोण का पालन किया; फिर मेरे सर्वर के लिए सर्वर प्रमाणीकरण प्रमाणपत्र जारी करने के लिए इसका उपयोग करना। मैंने दोनों को IIS में स्थापित किया।

मूल स्थिति में संदर्भित ब्लॉग पोस्ट के रूप में मेरी स्थिति वैसी ही हो जाती है। एक बार रूट प्रमाणपत्र को कॉपी / कर्ल-सीए-बंडल में चिपकाया गया था। फिर भी गिट / कर्ल कॉम्बो संतुष्ट थे।


"मैं नहीं जानता कि क्यों, लेकिन IIS प्रबंधक में सरल 'क्रिएट सेल्फ सर्टिफाइड सर्टिफिकेट' लिंक द्वारा बनाया गया प्रमाणपत्र चाल नहीं करता है ..." - सबसे अच्छा मैं बता सकता हूं, यह विकृत प्रमाण पत्र बनाता है। X.509 प्रमाणपत्र बनाते समय बहुत सारे नियम हैं; "यह काम करने के लिए न्यूनतम करें" अब अच्छी तरह से काम नहीं करता है। यह भी देखें कि आप सर्टिफिकेट साइनिंग रिक्वेस्ट को अपने सर्टिफिकेशन अथॉरिटी के साथ कैसे साइन करते हैं और ओप्सनल के साथ सेल्फ अटेस्टेड
jww

यह मेरे लिए काम करता है, लेकिन मैं "आईआईएस में दोनों को स्थापित" भाग पर अस्थायी रूप से लटका हुआ हूं। दूसरों के लिए clairfy करने के लिए ... सर्वर प्रमाणपत्र IIS में असाइन किया गया है, और रूट CA को "विश्वसनीय रूट प्रमाणन प्राधिकारी" को Windows प्रमाणपत्र प्रबंधक उपयोगिता (certmgr.msc) के माध्यम से आयात करने की आवश्यकता है
फिलिप

26

पूरी तरह से ssl वेरिफिकेशन को डिसेबल करने या git द्वारा उपयोग किए गए बंडल CA सर्टिफिकेट फाइल को हैक करने / हैक करने से बचने के लिए, आप होस्ट की सर्टिफिकेट चेन को एक फाइल में एक्सपोर्ट कर सकते हैं , और git का उपयोग कर सकते हैं:

git config --global http.https://the.host.com/.sslCAInfo c:/users/me/the.host.com.cer

यदि वह काम नहीं करता है, तो आप केवल होस्ट के लिए ssl सत्यापन अक्षम कर सकते हैं :

git config --global http.https://the.host.com/.sslVerify false

नोट: ssl सत्यापन बंद होने पर बीच के हमलों में संभव आदमी के अधीन।


4
यह ध्यान देने योग्य हो सकता है कि --globalविकल्प आवश्यक नहीं है: यदि आप चूक करते हैं --global, तो सेटिंग केवल उस विशेष गिट रेपो पर लागू होती है।
वेस टर्नर

19

मैं सिर्फ एक ही मुद्दा था, लेकिन विंडोज़ पर सामान्य जीआईटी के लिए विंडोज़ पर भी समान चरणों का उपयोग कर रहा था। निम्नलिखित चरणों का पालन करके मैं इस मुद्दे को हल करने में सक्षम था।

  1. सर्वर सर्टिफिकेट ट्री प्राप्त करें यह क्रोम का उपयोग करके किया जा सकता है। सर्वर पते पर नेविगेट करें। पैडलॉक आइकन पर क्लिक करें और प्रमाणपत्र देखें। प्रमाण पत्र श्रृंखला के सभी बेस 64 एन्कोडेड फ़ाइलों (पीईएम) प्रारूप के रूप में निर्यात करें।
  2. अपने GIT ट्रस्ट कॉन्फ़िग फ़ाइल की विश्वास श्रृंखला में प्रमाणपत्र जोड़ें "Git config --list" चलाएँ। "http.sslcainfo" कॉन्फ़िगरेशन ढूंढें इससे पता चलता है कि प्रमाणपत्र ट्रस्ट फ़ाइल कहाँ स्थित है। "- -BEGIN-" और "- -END-" सहित ट्रस्ट श्रृंखला फ़ाइल में सभी प्रमाणपत्रों की प्रतिलिपि बनाएँ।
  3. सुनिश्चित करें कि आप प्रमाणपत्र फ़ाइल में संपूर्ण प्रमाणपत्र श्रृंखला जोड़ते हैं

यह स्व-हस्ताक्षरित प्रमाण पत्र और जीआईटी का उपयोग करके आपके मुद्दे को हल करना चाहिए।

मैंने "http.sslcapath" कॉन्फ़िगरेशन का उपयोग करने की कोशिश की, लेकिन यह काम नहीं किया। इसके अलावा अगर मैंने प्रमाण पत्र फ़ाइल में पूरी श्रृंखला को शामिल नहीं किया है तो यह भी विफल हो जाएगा। अगर किसी के पास इन पर संकेत हैं तो कृपया मुझे बताएं क्योंकि ऊपर एक नई स्थापना के लिए दोहराया जाना है।

यदि यह सिस्टम GIT है तो आप टूल GIT में उपयोग के लिए TOOLS -> विकल्प GIt टैब में विकल्पों का उपयोग कर सकते हैं और इसके बाद इस मुद्दे को सॉकेट्री में भी हल कर सकते हैं।


2
"अगर मैंने प्रमाण पत्र फ़ाइल में पूरी श्रृंखला को शामिल नहीं किया तो यह भी विफल हो जाएगा" - मैं बस इस समस्या में भाग गया
अमानी किलुमंगा

जहां तक ​​पूरी श्रृंखला को शामिल करने की बात है, मेरे पास गीथब सर्टिफिकेट के ऊपर दो सेर हैं। क्या मैं उन्हें रूट के रूप में शामिल करता हूं-> अगला सर्टिफिकेट-> sslcainfo.crt फ़ाइल में github सर्टिफिकेट?
Jecoms 20

मैं रूट सर्टिफिकेट जोड़कर git रेपो पैकेज का उपयोग करने में सक्षम था।
Jecoms 21

भविष्य के पाठकों के लिए। कोई फर्क नहीं पड़ता अगर यह मायने रखता है, लेकिन मैं (http.sslcainfo) फ़ाइल के अंत में "रूट" (सबसे ऊपर) प्रमाण पत्र डालता हूं। और फिर जैसे ही मैं चेन में रूट सर्टिफिकेट से दूर होता गया, मैंने उस सर्टिफिकेट को (http.sslcainfo) फाइल की पिछली प्रविष्टि के ऊपर रख दिया।
ग्रेनडाकोडर

11

के मामले में GitHub डेटा संग्रह स्थान (या किसी भी कोई-स्व-हस्ताक्षरित प्रमाणपत्र) , स्थापित करते हुए नीचे चुनने Git-खिड़कियों पर, समस्या हल हो गई।

यहां छवि विवरण दर्ज करें


1
आपको लग रहा था कि आपने एक अलग प्रश्न का उत्तर दिया है। ओपी का प्रश्न विंडोज क्लाइंट पर स्व-हस्ताक्षरित प्रमाण पत्र से संबंधित है।
jww

@jww प्रश्न शीर्षक एक गिट त्रुटि संदेश है जो दिखाया गया है भले ही रेपो स्व-हस्ताक्षरित एसएसएल न हो!
जावेद अल शेख

इससे मुझे त्रुटि मिल गई, लेकिन मेरे लिए GitHub Enterprise तक पहुंचने के लिए कुछ प्रमुख पीढ़ी और सार्वजनिक / निजी कुंजी जोड़ने की आवश्यकता थी।
57मेगा मैन

1
यदि किसी स्व-प्रमाणित सर्टिफिकेट स्टोर में स्व हस्ताक्षरित सर्टिफिकेट स्टोर में एक ग्रुप पॉलिसी के माध्यम से सहायक विंडोज एडमिन द्वारा डाला गया है, तो यह उत्तर भी एक अच्छा है।
जेम्स जूल

7

मेरे पास यह समस्या पहले आई है, और इसे निम्न कॉन्फिगर का उपयोग करके हल करें।

[http "https://your.domain"] sslCAInfo=/path/to/your/domain/priviate-certificate

2.3.1 के बाद से, आप https://your.domainhttp के बाद रख सकते हैं कि निम्नलिखित प्रमाण पत्र केवल इसके लिए है।


1
यह सबसे सरल और सबसे सटीक समाधान है, जो मैंने पाया, अगर आपने git config --global http.sslCAInfo <your-server-self-signed-cert.pem>पहले भी कॉन्फ़िगर किया था (इसलिए "स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ" त्रुटि)
जॉनी वोंग

यह मेरी समस्या का सही जवाब था (और एसएसएल सत्यापन को अक्षम करने के लिए नहीं ~ ~ ~)। पता नहीं था कि आप केवल विशिष्ट होस्ट के लिए प्रमाणपत्र का स्थान निर्दिष्ट कर सकते हैं। ऐस!
रोसीओ गार्सिया लुके

1
  1. इस लिंक से सर्टिफिकेट डाउनलोड करें: https://github.com/bagder/ca-bundle
  2. इसे जोड़ें C:\Program Files\Git\bin औरC:\Program Files\Git\mingw64\bin

तो कुछ इस तरह की कोशिश: git clone https://github.com/heroku/node-js-getting-started.git


1

एक चीज जिसने मुझे गड़बड़ कर दिया, वह पथ का प्रारूप था (मेरे विंडोज पीसी पर)। मैं मूल रूप से यह था:

git config --global http.sslCAInfo C:\certs\cacert.pem

लेकिन वह "स्थानीय जारीकर्ता प्रमाण पत्र प्राप्त करने में असमर्थ" त्रुटि के साथ विफल रहा।

आखिरकार क्या काम हुआ:

git config --global http.sslCAInfo "C:\\certs\\cacert.pem"

1

मेरे मामले में, जैसा कि मैंने विंडो 7 के लिए ConEmu टर्मिनल स्थापित किया है , यह ca-bundleस्थापना के दौरान बनाता है C:\Program Files\Git\mingw64\ssl\certs

इस प्रकार, मुझे इसे काम करने के लिए टर्मिनल पर निम्नलिखित कमांड को चलाना होगा:

$ git config --global http.sslbackend schannel
$ git config --global http.sslcainfo /mingw64/ssl/certs/ca-bundle.crt

इसलिए, मेरे C:\Program Files\Git\etc\gitconfigनिम्नलिखित शामिल हैं:

[http]
    sslBackend = schannel
    sslCAinfo = /mingw64/ssl/certs/ca-bundle.crt

इसके अलावा, मैंने उसी विकल्प को चुना जैसा कि यहां उल्लेख किया गया है कि गिट स्थापित करते समय।

उम्मीद है की वो मदद करदे!


1

विशिष्ट त्रुटि SSL प्रमाणपत्र समस्या को ठीक करने के लिए: git में स्थानीय जारीकर्ता प्रमाणपत्र प्राप्त करने में असमर्थ

लेट्स एनक्रिप्ट क्रिप्ट्स के साथ मेरे पास यही मुद्दा था।

Https के साथ एक वेब साइट हम सिर्फ जरूरत है:

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

लेकिन गिट पुल कहते हैं:

fatal: unable to access 'https://example.com/git/demo.git/': SSL certificate problem: unable to get local issuer certificate

इसे ठीक करने के लिए, हमें भी जोड़ना होगा:

SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.