এইচটিটিপিএস ইউআরএল অ্যাক্সেস করার চেষ্টা করার সময় আমি সিআরএল ব্যবহার করে শংসাপত্রগুলি কীভাবে ব্যবহার করব?


187

কার্ল ব্যবহার করে আমি নিম্নলিখিত ত্রুটিটি পাচ্ছি:

কার্ল: (77) ত্রুটিযুক্ত শংসাপত্রের অবস্থানগুলি যাচাই করে:
  CAfile: /etc/ssl/certs/ca-cerર્ટates.crt
  ক্যাপথ: কিছুই নেই

আমি কীভাবে এই শংসাপত্রটি স্থিতিগুলি যাচাই করব? ধন্যবাদ।


2
আপনি কোন ওএস / ডিস্ট্রো চালু করছেন? আপনার সিএ-সার্টিফিকেট প্যাকেজ ইনস্টল করা উচিত (এটিকেই ডিবিয়ান / উবুন্টু বলা হয়)।
igorw

40
ভবিষ্যতের রেফারেন্সের জন্য, আমি ইতিমধ্যে ca-certificatesইনস্টল করেছি কিন্তু ত্রুটিটি স্থির ছিল। সমস্যাটি ছিল যে আমার শংসাপত্রগুলির /etc/ssl/certs/ca-certificates.crtপরিবর্তে এটি অবস্থিত ছিল /etc/pki/tls/certs/ca-bundle.crt, সুতরাং আমাকে কেবল পরিবেশগত পরিবর্তনশীলটিকে CURL_CA_BUNDLEসঠিক পথে সেট করতে হয়েছিল।
রবার্ট স্মিথ

13
শান্ত! আমি সেট করার সময় এটি আমার পক্ষে কাজ করে export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
পরিচ্ছন্ন

উত্তর:


82

এই ত্রুটিটি একটি সঙ্গে সম্পর্কযুক্ত অনুপস্থিত প্যাকেজ : ca-certificates। এটি ইনস্টল করুন।

উবুন্টু লিনাক্সে (এবং অনুরূপ ডিস্ট্রো):

# apt-get install ca-certificates

এর মাধ্যমে CygWin apt-CYG

# apt-cyg install ca-certificates

আর্চ লিনাক্সে (রাস্পবেরি পাই)

# pacman -S ca-certificates

ডকুমেন্টেশন বলে:

এই প্যাকেজটিতে এসএসএল-ভিত্তিক অ্যাপ্লিকেশনগুলিকে এসএসএল সংযোগগুলির সত্যতা যাচাই করার অনুমতি দেওয়ার জন্য সিএ শংসাপত্রগুলির পিইএম ফাইল অন্তর্ভুক্ত রয়েছে।

যেমনটি দেখা গেছে: দেবিয়ান - স্কুতে প্যাকেজ সিএ-শংসাপত্রগুলির বিশদ


97
সিএ-শংসাপত্রগুলি ইতিমধ্যে নতুন সংস্করণ, তবুও আমি এখনও ত্রুটিটি পেয়ে যাচ্ছি
যাজক হোন

2
অবশ্যই, আপনি যদি কার্ল এবং Raw.github.com ব্যবহার করে প্রস্তাবিত পদ্ধতির মাধ্যমে অ্যাপট-সিগ ইনস্টল করার চেষ্টা করেন তবে আপনি এই একই ত্রুটিটি পাবেন
10gistic

11
আর্চ লিনাক্সে আপনার প্রয়োজনও হতে পারে pacman -S ca-certificates-utils। আমি করেছিলাম.
মার্ক গ্রিমস

8
এই প্যাকেজটি ইতিমধ্যে ইনস্টল করা আছে। এই উত্তর সহায়ক নয়।
জিমি জেমস

8
@ পাস্তরবোনস আমার একই সমস্যা ছিল যে প্যাকেজটি ইতিমধ্যে সর্বশেষ ছিল, আমি মনে করি এটি তবে দুর্নীতিগ্রস্থ হয়েছিল তাই sudo apt install --reinstall ca-certificatesপ্যাকেজটি পুনরায় ইনস্টল করা হয়েছিল এবং আমার যে ত্রুটিগুলি দেখা হচ্ছে তা সমাধান করে
উইল

153

আমার কাছে সিএ-শংসাপত্রগুলির নতুন সংস্করণও ইনস্টল ছিল তবে ত্রুটিটি পাচ্ছিলাম:

curl: (77) error setting certificate verify locations:
  CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none

সমস্যাটি হ'ল কার্লটি শংসাপত্রটি পাথের দিকে প্রত্যাশা করেছিল /etc/pki/tls/certs/ca-bundle.crtতবে এটি ছিল না কারণ এটি পথে ছিল /etc/ssl/certs/ca-certificates.crt

চালিয়ে প্রত্যাশিত গন্তব্যে আমার শংসাপত্রটি অনুলিপি করা হচ্ছে

sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt

আমার জন্য কাজ। লক্ষ্য গন্তব্যের জন্য আপনার যদি ফোল্ডার তৈরি করতে হবে তবে সেগুলি চালিয়ে না থাকলে exist

sudo mkdir -p /etc/pki/tls/certs

প্রয়োজনে গন্তব্য ফাইলের নামটি কার্ল দ্বারা প্রত্যাশিত পাথের সাথে মিলিয়ে দেওয়ার জন্য উপরের কমান্ডটি সংশোধন করুন, অর্থাত /etc/pki/tls/certs/ca-bundle.crtআপনার ত্রুটি বার্তায় "CAfile:" নিম্নলিখিত পথটি প্রতিস্থাপন করুন।


31
আপনি ln -sযতবার এটি আপডেট করবেন প্রতিবার এটি অনুলিপি না করতে চাইলে আপনি একটি প্রতীকী লিঙ্ক তৈরি করতে পারেন।
তারাবিআমরনোলাবস

4
rescuetimeফেডোরা 25-তে অ্যাপের জন্য একই সমস্যা ছিল sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/certs/ca-certificates.crtthe সমস্যাটি সমাধান করুন solved ( CURL_CA_BUNDLEenv var কাজ করেনি)
গ্যাবলেউক্স

আমার উবুন্টু উপর এই সমস্যা সংশোধন করা হয়েছে: sudo ln -s /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.pem। আমি আসলে The repository ... does not have a Release fileযা পেয়েছিলাম যা প্রত্যাহার শংসাপত্রের কারণে ( Could not load certificates from ...) ছিল।
মেরিনোস আন

84

এটি আপনার মধ্যে রাখুন .bashrc

# fix CURL certificates path
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt

(রবার্টের মন্তব্য দেখুন)


8
এমন একটি পদ্ধতি সরবরাহ করার জন্য আপনাকে ধন্যবাদ যা আমার হাতে সিস্টেম ফাইলগুলি উপদ্রব করা দরকার না, তবে এখনও শংসাপত্রগুলি ব্যবহারের সুরক্ষা বজায় রাখে!
স্টিফেন জনসন

ধন্যবাদ. এটি পাইঙ্ক এবং কার্ল দিয়ে আমার অনুরূপ সমস্যার সমাধান করেছে। আমি উবুন্টু 14.04 ব্যবহার করেছি এবং ইতিমধ্যে সিএ-শংসাপত্রগুলি ইনস্টল করেছি।
ডেভিডা

এই পদ্ধতির xonsh (যোগ $CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"করুন .xonshrc) এর সাথেও কাজ করে ।
এম00am

কেবলমাত্র ক্ষেত্রে: CURL_CA_BUNDLE=/path/to/bundle.crt curl http://example.com
এটির

30

~/.curlrcনিম্নলিখিত বিষয়বস্তু দিয়ে একটি ফাইল তৈরি করুন

cacert=/etc/ssl/certs/ca-certificates.crt

1
সেরা উত্তর, এটি আমার জন্য লিনাক্স মিন্টে 17
সান্তিয়াগোতে 14

ম্যাক-এ, এটি অনুসরণের সাথে কাজ করেছে~/.curlrc cacert=/etc/openssl/cert.pem
আমিরথি

21

ত্রুটিটি খুঁজে পাওয়ার দ্রুততম উপায়টি আপনার কার্ল অনুরোধের কোথাও -k বিকল্পে যুক্ত করা। এই বিকল্পটি "শংসাপত্র ছাড়াই এসএসএল উদ্ধৃতিতে সংযোগের অনুমতি দেয়। (কার্ল - হেল্প থেকে)

সচেতন থাকুন এর অর্থ এই হতে পারে যে আপনি যে শেষ পয়েন্টটি আপনি মনে করছেন আপনি সেটির সাথে কথা বলছেন না, কারণ তারা আপনার বিশ্বাসী সিএ দ্বারা স্বাক্ষরিত নয় এমন একটি শংসাপত্র উপস্থাপন করছে।

উদাহরণ স্বরূপ:

$ curl -o /usr/bin/apt-cyg https://raw.github.com/cfg/apt-cyg/master/apt-cyg

আমাকে নিম্নলিখিত ত্রুটির প্রতিক্রিয়া জানিয়েছে:

curl: (77) error setting certificate verify locations:
  CAfile: /usr/ssl/certs/ca-bundle.crt
  CApath: none

আমি অন-কে যোগ করেছি:

curl -o /usr/bin/apt-cyg https://raw.github.com/cfg/apt-cyg/master/apt-cyg -k

এবং কোনও ত্রুটি বার্তা নেই। বোনাস হিসাবে, এখন আমি অ্যাপে-সিগ ইনস্টল করেছি। এবং সিএ-শংসাপত্র।


10
এটি ত্রুটিটি পেতে পারে তবে এটি "সুরক্ষিত" সংযোগকেও সুরক্ষিত করে তুলবে।
টিম

1
আসলে তা না. যতদূর আমি জানি, আপনি কেবল একটি সুরক্ষিত সংযোগের এনক্রিপশনকে বাইপাস করতে পারবেন না, এটি এখনও এনক্রিপ্ট করা এবং কেবল একটি প্রান্তে যেতে চলেছে। আমি ভুল হলে কেউ আমাকে সংশোধন করে তবে আপনি চালানোর একমাত্র ঝুঁকি হ'ল আপনি মধ্য-আক্রমণের শিকার হতে পারেন। আপনি কার্ল ব্যবহার করছেন তবে এখনও ঝুঁকি নেই not
10gistic

18
হ্যাঁ সত্যিই. "--K" বিকল্পটি "--insecure" এর জন্য শর্টহ্যান্ড। আপনি যদি মাঝখানে থাকেন তবে আপনি কী ভাবেন যে তিনি আপনার ডেটা দিয়ে করছেন? স্পোলার সতর্কতা: তিনি এটিকে ডিক্রিপ্ট করছেন, চুরি করছেন এবং সম্ভবত এটিকে সংশোধন করছেন এবং সুরক্ষিত করে অনিরাপদ প্রবাহে ফিরিয়ে আনছেন। ম্যান পৃষ্ঠা থেকে সরাসরি: "-কি, --ইনসিকিউর (এসএসএল) এই বিকল্পটি স্পষ্টভাবে কার্লকে" অনিরাপদ "এসএসএল সংযোগ এবং স্থানান্তর সম্পাদন করতে অনুমতি দেয় All সমস্ত এসএসএল সংযোগগুলি সিএ সার্টিফিকেট বান্ডিলটি ডিফল্টরূপে ইনস্টল করে নিরাপদ করার চেষ্টা করা হয়। এটি "অনিরাপদ" হিসাবে বিবেচিত সমস্ত সংযোগকে ব্যর্থ করে তোলে -K, --insecure ব্যবহার না করা পর্যন্ত "।
টিম

2
আপনার যদি এসএসএল দরকার হয় তবে আপনার গোপনীয়তা এবং যাচাইকরণের দরকার the -k পতাকাটির অর্থ আপনি যাচাইকরণ হারাচ্ছেন । আপনার প্রয়োজনের উপর নির্ভর করে এটি গ্রহণযোগ্য হতে পারে। আপনি যদি আপনার নেটওয়ার্ক এবং যে সার্ভারের সাথে আপনি যোগাযোগ করছেন সেটি ইন্টারলিপার্স থেকে সুরক্ষিত হয় (আপনি কি এই অনুমান করতে পারেন?) ধরে নিলে এমআইটিএম অ-তুচ্ছ আক্রমণ attacks আপনার ডেটা (সোর্সকোড এবং শংসাপত্রগুলি চিত্রগুলির চেয়ে ঝুঁকিপূর্ণ) উপর নির্ভর করে ঝুঁকি বাড়ায়। আপনি স্থানান্তর (চেকসাম ইত্যাদি) এর পরে ডেটার অখণ্ডতা যাচাই করতে পারেন তবে এখন আপনি সেই বিশ্বাসটি চেকসাম চ্যানেলে স্থানান্তর করছেন। শেষ -kপর্যন্ত আপনাকে আরও কিছুটা কাজ দেয়।
মার্ক ফক্স

সুতরাং এর অর্থ কি এই যে আমি স্ব স্বাক্ষরিত শংসাপত্র ব্যবহার করছি am আমার বিকল্পটি-কে ব্যবহার করা উচিত। স্ব স্বাক্ষরিত শংসাপত্রটি যাচাই করা সম্ভব না হওয়ায়?
লিনাস

15

@ গ্রেন সঠিক এটি নীচে ত্রুটি সহ সমস্ত অ্যানাকোন্ডা ব্যবহারকারীকে প্রভাবিত করে
curl: (77) error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none

কার্যকার্য হ'ল ডিফল্ট সিস্টেম কার্ল ব্যবহার করা এবং প্রিপেন্ড করা অ্যানাকোন্ডা ভেরিয়েবলের সাথে গোলযোগ এড়ানোPATH । অপরপক্ষে তুমি

  1. অ্যানাকোন্ডা কার্ল বাইনারি নামকরণ করুন :)
    mv /path/to/anaconda/bin/curl /path/to/anaconda/bin/curl_anaconda

  2. বা অ্যানাকোন্ডা কার্ল সরান
    conda remove curl

$ which curl /usr/bin/curl

[0] অ্যানাকোন্ডা উবুন্টু কার্ল গিথুব https://github.com/conda/conda-recips/issues/352 ইস্যু


ভাল সন্ধান, আমি বুঝতে পারি না যে অ্যানাকোন্ডা আমার পথে অগ্রাধিকার চুরি করছে। এটি curlপুরোপুরি একবারে প্রতিস্থাপন করার পরে এটি কাজ করেছিল/usr/bin/curl
jxramos

এটি অনেক সাহায্য! ধন্যবাদ।
শাব্বব করিম

12

থেকে $ man curl:

--cert-type <type>
    (SSL) Tells curl what certificate type the provided  certificate
    is in. PEM, DER and ENG are recognized types.  If not specified,
    PEM is assumed.

    If this option is used several times, the last one will be used.

--cacert <CA certificate>
    (SSL) Tells curl to use the specified certificate file to verify
    the peer. The file may contain  multiple  CA  certificates.  The
    certificate(s)  must be in PEM format. Normally curl is built to
    use a default file for this, so this option is typically used to
    alter that default file.

7

উইন্ডোজের এক্সএএমপিপি-তে চলমান পিএইচপি কোডের জন্য আমি নীচের বিষয়গুলি অন্তর্ভুক্ত করার জন্য আমার php.ini সম্পাদনা করার প্রয়োজন খুঁজে পেয়েছি

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = curl-ca-bundle.crt

এবং তারপরে একটি ফাইলের অনুলিপি করুন https://curl.haxx.se/ca/cacert.pem এবং কার্ল- ca-bundle.crt এর নাম পরিবর্তন করে এটিকে am xampp পাথের নীচে রাখুন (আমি কার্ল.capath কাজ করতে পারিনি) । আমি এটিও পেয়েছি যে সিআরএল সাইটে যে ক্যাবন্ডলটি আমি সংযোগ করছি তার জন্য পর্যাপ্ত পরিমাণ ছিল না, তাই ব্যবহার করা একটি যা HTTP- র 7 -7.1 কার্ল-এর প্রাক-সংকলিত উইন্ডোজ সংস্করণে তালিকাভুক্ত রয়েছে http://winampplugins.co.uk এ / কার্ল /


উইন্ডোতে আপনি পিএইচপি এর আগে কেবল "xampp" যুক্ত করতে পারেন: curl.cainfo = "সি: \ xampp \ php \ অতিরিক্ত s cacert.pem"
রায়ান স্টেইন

7

আমার ঠিক একই সমস্যা ছিল. দেখা যাচ্ছে যে, আমার /etc/ssl/certs/ca-certificates.crtফাইলটি ত্রুটিযুক্ত ছিল। শেষ এন্ট্রি এরকম কিছু দেখিয়েছিল:

-----BEGIN CERTIFICATE-----
MIIEDTCCAvWgAwIBAgIJAN..lots of certificate text....AwIBAgIJAN-----END CERTIFICATE-----

এর আগে একটি নতুন লাইন যুক্ত করার পরে -----END CERTIFICATE-----, কার্ল শংসাপত্রগুলির ফাইলটি পরিচালনা করতে সক্ষম হয়েছিল।

এটি জানতে খুব বিরক্তিকর হয়েছিল যেহেতু আমার update-ca-certificatesআদেশ আমাকে কোনও সতর্কতা দেয় নি।

এটি কার্লের সংস্করণ নির্দিষ্ট সমস্যা হতে পারে বা নাও হতে পারে, তাই কেবলমাত্র সম্পূর্ণতার জন্য এখানে আমার সংস্করণটি রয়েছে:

curl --version
# curl 7.51.0 (x86_64-alpine-linux-musl) libcurl/7.51.0 OpenSSL/1.0.2j zlib/1.2.8 libssh2/1.7.0
# Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
# Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

6

এটি আমার পক্ষে কাজ করেছে

sudo apt-get install ca-certificates

তারপরে শংসাপত্র ফোল্ডারে যান

sudo cd /etc/ssl/certs

তারপরে আপনি সিএ-শংসাপত্র। সিআরটি ফাইলটি অনুলিপি করুন /etc/pki/tls/certs

sudo cp ca-certificates.crt /etc/pki/tls/certs

যদি কোনও টিএলএস / শংসাপত্র ফোল্ডার না থাকে: একটি তৈরি করুন এবং chmod 777 -R ফোল্ডারনাম ব্যবহার করে অনুমতি পরিবর্তন করুন


1
আমি এটি চেষ্টা করেছিলাম কিন্তু এটি আমার পক্ষে কার্যকর হয়নি এবং আমি এখনও একই ত্রুটি পেয়েছি। কোন ধারনা ?
অনিরুধ

6

এই সমস্যাটি সমাধানের জন্য অন্য বিকল্প হ'ল শংসাপত্রের বৈধতা অক্ষম করা:

echo insecure >> ~/.curlrc

1
কার্যক্ষম, তবে এটি কার্ল শংসাপত্রগুলির সাথে আমার অনেক বেশি সময় পরে সহায়তা করে। ধন্যবাদ।
কে গোল গোল

4

কার্ল SSLএকটি "বান্ডিল" ব্যবহার করে ডিফল্টরূপে শংসাপত্র যাচাই সম্পাদন করেCertificate Authority (CA) পাবলিক কীগুলির (সিএ । ডিফল্ট বান্ডিলটির নাম কার্ল-সিএ-বান্ডেল.crt; আপনি --cacert বিকল্পটি ব্যবহার করে একটি বিকল্প ফাইল নির্দিষ্ট করতে পারেন।

যদি এই HTTPSসার্ভারটি বান্ডলে প্রতিনিধিত্ব করে কোনও সিএ দ্বারা স্বাক্ষরিত শংসাপত্র ব্যবহার করে, শংসাপত্রের কোনও সমস্যার কারণে শংসাপত্র যাচাইকরণ ব্যর্থ হয়েছিল (এটি মেয়াদ উত্তীর্ণ হতে পারে, বা নামটি URL- এ ডোমেন নামের সাথে মেলে না)।

আপনি যদি শংসাপত্রের কার্লের যাচাইকরণ বন্ধ করতে চান তবে -k (বা --insecure) বিকল্পটি ব্যবহার করুন ।

উদাহরণ স্বরূপ

curl --insecure http://........

3
"উত্সটির উপর নির্ভর করা" এখানে কেবল একটি অপ্রাসঙ্গিক, যেহেতু কোনও সিএর বিরুদ্ধে শংসাপত্রটি যথাযথভাবে যাচাই না করে, "উত্স" কে তা আপনার কোনও ধারণা নেই।
জেফ অ্যালেন

4

মনে হচ্ছে আপনার কার্লটি সিএ শংসাপত্র বা অনুরূপ কোনও অ-বিদ্যমান ফাইলের দিকে নির্দেশ করে।

কার্ল সহ সিএ শংসাপত্রগুলিতে প্রাথমিক রেফারেন্সের জন্য দেখুন: https://curl.haxx.se/docs/sslcerts.html


3

কেবলমাত্র ফোল্ডারগুলি তৈরি করুন যা আপনার সিস্টেমে অনুপস্থিত ..

/ Etc / pki / TLS / শংশাপত্র /

এবং নিম্নলিখিত কমান্ড ব্যবহার করে ফাইল তৈরি করুন,

sudo অ্যাপ-সিএ-সার্টিফিকেট ইনস্টল করুন

এবং তারপরে গন্তব্য ফোল্ডারে শংসাপত্রটি অনুলিপি করুন এবং আটকান, যা আপনার ত্রুটিটি দেখায় .. আমার ত্রুটিতে with message 'error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none' inউল্লিখিত সঠিক স্থানে ফাইলটি আটকানো হয়েছে তা নিশ্চিত করে "। পেস্ট অনুলিপি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন ..

sudo cp /etc/ssl/certs/ca-cerર્ટates.crt /etc/pki/tls/certs/ca-bundle.crt

সংশোধন করা হয়েছে।


শীর্ষের উত্তরগুলির কোনওটিই আমার পক্ষে কাজ করেনি তবে এটি করেছিল!
প্রকৃতি প্রকাশ প্রভু

2

এটি মূল্যবান জন্য, চেকিং which curlচালানো হয় তাও তাৎপর্যপূর্ণ।

আমি বজায় রাখা একটি ভাগ করা মেশিনের একজন ব্যবহারকারী এই ত্রুটিটি পেয়ে আসছিলেন। তবে কারণটি প্রমাণিত হয়েছিল কারণ তারা অ্যানাকোন্ডা ( http://continuum.io ) ইনস্টল করতেন । এটি করার ফলে অ্যানাকোন্ডার বাইনারি পাথ স্ট্যান্ডার্ডের আগে রাখা হয়েছে $PATHএবং এটি তার নিজস্ব curlবাইনারি নিয়ে আসে , যা এই উবুন্টু মেশিনে ইনস্টল করা ডিফল্ট শংসাপত্রগুলি খুঁজে পেতে সমস্যা হয়েছিল


1
which -a curlউপলব্ধ সমস্ত কিছু যাচাই করার জন্য আমি যাচাই করার পরামর্শ দিচ্ছি এবং অবশ্যই কোনটি শীর্ষে আসবে তা লক্ষ করুন।
jxramos

2

যদি কারও এখনও সমস্যা হয় তবে এটি চেষ্টা করে দেখুন, এটি আমার পক্ষে কাজ করে। আপনার /etc/ssl/certs/ডিরেক্টরিতে ফাইলগুলি মুছুন এবং তারপরে সিএ-শংসাপত্রগুলি পুনরায় ইনস্টল করুন:

sudo apt install ca-certificates --reinstall

আমি যখন লিনাক্সব্রু ইনস্টল করার চেষ্টা করেছি তখন এটি করল।


1
এটি আমাকে সহায়তা করেছে তবে আমি আমার মেশিনের ফাইলগুলি মুছলাম না। কেবল সাধারণ কমান্ডটি চালিয়েছে এবং কার্ল কাজ শুরু করেছে।
জোসেফু

1

আপনি লিনাক্সে MacOS উপর homebrew বা linuxbrew ব্যবহার করেন, তাহলে পুনরায় ইনস্টল করার চেষ্টা করুন opensslএবং curlএখান থেকে নিম্নোক্ত পদক্ষেপ সঙ্গে এই পৃষ্ঠার

এই ত্রুটি বার্তাটি নির্দেশ করে যে কার্ল ওপেনসেল ব্যবহার করে কোনও সুরক্ষিত সংযোগ স্থাপন করতে সক্ষম নয়। ওপেনসেল পুনরায় ইনস্টল করার ফলে সমস্যাটি সমাধান করা উচিত। কোনও প্রয়োজনীয় ফাইল ডাউনলোড করতে কার্ল এবং গিট উভয়ের জন্য অস্থায়ীভাবে একটি অনিরাপদ সংযোগ ব্যবহার করতে চালনা করুন:

echo insecure >> ~/.curlrc
git config --global http.sslVerify false

তারপরে, ওপেনসেল এবং কার্ল ইনস্টল করুন বা পুনরায় ইনস্টল করুন:

HOMEBREW_CURLRC=1 brew reinstall openssl curl

শেষ অবধি, কার্ল তৈরির জন্য সুরক্ষা পরিবর্তনগুলি পূর্বাবস্থায় ফেরান এবং গিট আবার সুরক্ষিত সংযোগ ব্যবহার করুন:

sed -i '/^insecure$/d' ~/.curlrc
git config --global http.sslVerify true

ফলাফলটি যাচাই করতে আপনাকে নতুন শেল সেশন শুরু করতে হবে

curl -v https://github.com # or any other https urls.

এটি যদি আউটপুটটিতে নিম্নলিখিত ফলাফলগুলি দেখায়, সমস্যাটি সমাধান করা উচিত!

* successfully set certificate verify locations:
*   CAfile: /usr/local/etc/openssl/cert.pem
    CApath: /usr/local/etc/openssl/certs

তথ্যসূত্র:


কয়েক ঘন্টা চেষ্টা করার পরে। এটি আমাকে বাঁচায়। শেষ পর্যন্ত ম্যাকোসের সঠিক সমাধান অনেক ধন্যবাদ! :)
মরেটব

1

আমি একই সমস্যা পেয়েছি: আমি একটি আলপাইন ভিত্তিক ডকার চিত্র তৈরি করছি এবং যখন আমি আমার সংস্থার কোনও ওয়েবসাইটে কার্ল করতে চাই, তখন এই ত্রুটিটি উপস্থিত হয়। এটি সমাধান করার জন্য, আমাকে আমার সংস্থার সিএ সার্টিফিকেট পেতে হবে, তারপরে, আমাকে এটি আমার চিত্রের সিএ শংসাপত্রগুলিতে যুক্ত করতে হবে।

সিএ সার্টিফিকেট পান

ওয়েবসাইট সম্পর্কিত শংসাপত্রগুলি পেতে ওপেনএসএসএল ব্যবহার করুন:

openssl s_client -showcerts -servername my.company.website.org -connect my.company.website.org:443

এটি এমন কিছু আউটপুট দেবে:

CONNECTED(00000005)
depth=2 CN = UbisoftRootCA
verify error:num=19:self signed certificate in certificate chain
...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
... 
-----END CERTIFICATE-----
...

গত সার্টিফিকেট (মধ্যে কন্টেন্ট পান -----BEGIN CERTIFICATE-----এবং
-----END CERTIFICATE-----একটি ফাইলে markups অন্তর্ভুক্ত) এবং তা সংরক্ষণ করুন (উদাহরণস্বরূপ mycompanyRootCA.crt)

আপনার ইমেজ তৈরি করুন

তারপরে, আপনি যখন আলপাইন থেকে আপনার ডকার চিত্রটি তৈরি করবেন, নিম্নলিখিতটি করুন:

FROM alpine
RUN apk add ca-certificates curl
COPY mycompanyRootCA.crt  /usr/local/share/ca-certificates/mycompanyRootCA.crt
RUN update-ca-certificates

আপনার চিত্র এখন সঠিকভাবে কাজ করবে! \ ণ /


1

এই সমাধানটি আমার পক্ষে পুরোপুরি কার্যকর হয় তা সন্ধান করুন।

echo 'cacert=/etc/ssl/certs/ca-certificates.crt' > ~/.curlrc

আমি থেকে এই সমাধান পাওয়া এখানে


0

PKI ডিরেক্টরিতে এসএসএল চেইন শংসাপত্র ফাইলগুলি দূষিত বা হারিয়ে যাওয়ার কারণে ত্রুটি। নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করে আপনাকে সিএ-বান্ডিল ফাইলগুলি নিশ্চিত করতে হবে: আপনার কনসোল / টার্মিনালে:

mkdir /usr/src/ca-certificates && cd /usr/src/ca-certificates

এই সাইটটি প্রবেশ করুন: https://rpmfind.net/linux/rpm2html/search.php?query=ca-cerificationsates , এসও এর জন্য আপনার সিএ-শংসাপত্র পান। ডাউনলোডের ইউআরএল অনুলিপি করুন এবং ইউআরএলে পেস্ট করুন: আপনার_আরএল_ডনওলোড_সিএ-সার্টিফিকেশন.আরএম এখনই উইজেট করুন, আপনার আরপিএম ইনস্টল করুন:

rpm2cpio your_url_donwload_ca-ceritificated.rpm | cpio -idmv

এখন আপনার পরিষেবাটি পুনরায় চালু করুন: আমার এই আদেশটি উদাহরণস্বরূপ:

sudo service2 httpd restart

0

গিট ব্যাশে নিম্নলিখিত কমান্ডটি চালান যা আমার পক্ষে ভাল কাজ করে

git config --global http.sslverify "false"


0

আমি এই ফিক্সটি একটি সহজ এবং সুরক্ষিত ফিক্স হিসাবে পেয়েছি। এটি কেবল php.iniফাইলের মধ্যে দুটি মানের পথ পরিবর্তন করার সাথে জড়িত । এখানে নির্দেশাবলী অনুসরণ করুন: https://ourcodeworld.com/articles/read/196/xampp-wampp-php-ssl-cer ર્ટate-error-unable-to-get-local- issuer-certificate


0

বেলো সমস্যাগুলি স্থির করার পদক্ষেপগুলি বর্ণনা করুন।
1. সংজ্ঞায়িত ইউআরএলটিতে ফাইলটি বিদ্যমান রয়েছে তা সন্ধান করুন।
২. যদি না হয় তবে ইউআরএল থেকে ফাইলটি ডাউনলোড করুন। https://curl.haxx.se/ca/cacert.pem
3. php.ini ফাইলের সংজ্ঞায়িত পথে ফাইলটি অনুলিপি করুন এবং পেষ্ট করুন।
4. অ্যাপাচি পরিষেবাটি পুনরায় চালু করুন।


0

আমার এই সমস্যাটি ছিল এবং এটি থেকে দেখা গেল যে আমার সিআরএল এর সংস্করণটি ডের-এনকোডেড শংসাপত্রগুলি পার্স করতে পারে না (এবং --cert-type বিকল্পের দিকেও মনোযোগ দিচ্ছিল না)। আমি যখন শংসাপত্রটি পিইএম ফর্ম্যাটে রূপান্তর করি তখন এটি কাজ করে।


0

আমার ক্ষেত্রে /etc/ssl/certs/ca-certificates.crtফাইলটি অনুপস্থিত ছিল। দেখা গেছে /etc/ssl/certsযে ডকার ইমেজ তৈরি করার সময় আমি ডকফাইফিলের মধ্যে থেকে সামগ্রীটি মুছে ফেলেছি। আমার শেল স্ক্রিপ্টগুলি / ব্যাশ কমান্ডগুলি অ্যাডজাস্ট করার পরে ডকফাইফিলের মধ্যে থেকে চালিত হয় - কার্ল এখন নতুন ধারকের মধ্যে থেকে নিখুঁতভাবে কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.