ডিফল্ট সিএ সার্ট বান্ডিল অবস্থান


18

আমার ডিফল্ট সিএ সার্ট বান্ডেলে আমাকে একটি .pem সার্টিফিকেট যুক্ত করতে হবে তবে ডিফল্ট সিএ সার্ট বান্ডেলটি কোথায় রাখা হয়েছে তা আমি জানি না।

আমার এই নতুন ডিফল্ট বান্ডেলে আমার নতুন .pem ফাইলটি যুক্ত করতে হবে। আমি বরং --capath ব্যবহার করে নিজের অবস্থান নির্দিষ্ট করার চেয়ে তা করব

সিআরএল স্পষ্টভাবে কোথায় দেখতে হবে তা জানে তবে আমি কোনও সিআরএল কমান্ড দেখতে পাচ্ছি না যা অবস্থানটি প্রকাশ করে। এমন কোনও আদেশ আছে যা এই অবস্থানটি প্রকাশ করবে? আমি এটি কিভাবে খুঁজে পেতে পারি?

সিআরএল অনুসারে:
বিদ্যমান সার্ভারে ডিফল্ট সিএ সার্ট বান্ডিলটিতে আপনার সার্ভারের জন্য সিএ সার্ট যুক্ত করুন। ব্যবহৃত সিএ বান্ডেলের ডিফল্ট পাথটি --with-ca-bundle বিকল্পের সাহায্যে আপনার পছন্দের পথটি নির্দেশ করে পরিবর্তিত হতে পারে।

ধন্যবাদ


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

উত্তর:


20

চলমান curlসঙ্গে straceআপনি একটি সুরুক দিতে পারে।

strace curl https://www.google.com | & গ্রেপ খোলা

প্রচুর আউটপুট, তবে ঠিক শেষের দিকে আমি দেখতে পাচ্ছি:

খোলা ("/ ইত্যাদি / এসএসএল / সার্টস / 578d5c04.0", ও_আরডোনলি) = 4

যা আমার শংসাপত্র সংরক্ষণ করা হয়।


2
আমাকে সম্পর্কে দেখানোর জন্য +1 strace!
রবার্ট ডন্ডন

straceস্পষ্টতই, ম্যাকোএসে উপলব্ধ নয়। "সমতুল্য" dtrussআমাকে বলেছিল "dtrace: dtrace আরম্ভ করতে ব্যর্থ: ডিট্রেসের অতিরিক্ত সুবিধাগুলি প্রয়োজন"। সুতরাং আমি sudoএটি দিয়ে ব্যবহার করেছি। এতে এটির উত্তর দিয়েছিল "dtrace: কার্ল সম্পাদন করতে ব্যর্থ: dtrace সীমাবদ্ধ এনটাইটেলমেন্ট সহ স্বাক্ষরিত এক্সিকিউটেবলগুলিকে নিয়ন্ত্রণ করতে পারে না"। খুব সহায়ক নয়।
এলএস

17

কার্লের 'বিন /' তে একটি প্রোগ্রাম 'কার্ল-কনফিগারেশন' থাকা উচিত, যেখানে 'কার্ল' বাইনারি থাকে।

./curl-config --ca

সিএ বান্ডিলটি ইনস্টল করার পথ দেয়।

আমি কেবল একটি হোয়েস কার্ল-কনফিগার করেছি: "একটি লাইবর্কাল ইনস্টলেশন সম্পর্কে তথ্য পান" সুতরাং আমার ধারণা লিবকারল ইনস্টল করা থাকলে এটি কেবলমাত্র পাওয়া যাবে, যা আমি ধারণা করি যদিও এটি স্ট্যান্ডার্ড।


1
এটি চালানোর জন্য আমাকে উবুন্টুতে একটি প্যাকেজ ইনস্টল করতে হয়েছিল (এটি ইনস্টল না করা থাকলে আপনাকে উপলভ্য বিকল্পগুলির একটি তালিকা প্রদর্শিত হবে), তবে এই আদেশটি ব্যবহার করে আমাকে সঠিক জায়গায় নিয়ে গেছে!
রবার্ট ডন্ডন

2
curl-configপ্রোগ্রাম প্রোগ্রাম বা ইনস্টলেশনের সব সংস্করণের সাথে উপলব্ধ নেই। উদাহরণস্বরূপ, কিছু অ্যাডমিন প্রোগ্রামের উদ্দেশ্য বুঝতে পারে না এবং এটি ইনস্টল করতে পারে না কারণ তারা মনে করে যে এটি কেবল একটি বিল্ড কনফিগারেশন সরঞ্জাম। আরও, যদি প্রোগ্রামটির প্রয়োজন হয় এমন ব্যবহারকারী যদি কোনও সিস্টেমের প্রশাসক না হন তবে তারা এটি ইনস্টল করতে পারবেন না। আমার দুটি সিস্টেমে অ্যাক্সেস রয়েছে, একটিতে এই প্রোগ্রাম নেই, অন্যটির জন্য কোনও আউটপুট দেয় নাcurl-config --ca
এলএস

আমি এই উত্তরটি গ্রহণযোগ্যটির কাছে পছন্দ করি - straceকনফিগার তথ্যের সন্ধান করার জন্য প্রয়োজনীয় হওয়া উচিত নয়।
কেন উইলিয়ামস

7

আমি একটি সহজ উপায় খুঁজে পেয়েছি: --cacertএকটি ভুল ফাইল নাম ব্যবহার করুন , আউটপুটটি পথ দেখায়।

উদাহরণ:

~$ curl --cacert non_existing_file https://www.google.com
curl: (77) error setting certificate verify locations:
  CAfile: non_existing_file
  CApath: /etc/ssl/certs

আমি ভেবেছিলাম এটি ভাল সমাধানের মতো দেখাচ্ছে। তবে কার্ল আমাকে "77" ত্রুটি দিয়েছে, তবে অতিরিক্ত তথ্য নয়।
এলএস

@ এলএস ভার্বোজ পতাকা যুক্ত করার চেষ্টা করুন: -v বা
--verbose

2

লিনাক্স (উবুন্টু, দেবিয়ান)

আপনার সিআর অনুলিপি / ইউএসআর / স্থানীয় / ভাগ / সিএ-শংসাপত্র /

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

সিএ স্টোর আপডেট করুন

sudo update-ca-certificates

আপনার সিএ সরান এবং সিএ স্টোরটি আপডেট করুন:

sudo update-ca-certificates --fresh

লিনাক্স (সেন্টও))

সিএ-শংসাপত্র প্যাকেজ ইনস্টল করুন:

yum install ca-certificates

ডায়নামিক সিএ কনফিগারেশন বৈশিষ্ট্য সক্ষম করুন: আপডেট-সিএ-বিশ্বাস জোর-সক্ষম এটিকে নতুন ফাইল হিসাবে যুক্ত করুন /etc/pki/ca-trust/source/anchors/:

cp foo.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract

লিনাক্স (সেন্টও 5)

আপনার বিশ্বস্ত শংসাপত্র ফাইল এ যুক্ত করুন /etc/pki/tls/certs/ca-bundle.crt

cat foo.crt >>/etc/pki/tls/certs/ca-bundle.crt

https://manouts.gfi.com/en/kerio/connect/content/server-configration/ssl-cer ર્ટates/adding-trusted-root-certificates-to-the-server- 1605.html খুব সুন্দর লিঙ্ক, যা ব্যাখ্যা করে, এটি বেশ কয়েকটি জনপ্রিয় ওএসে কীভাবে যুক্ত করা যায়।


যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
জেরাল্ড স্নাইডার

@ জেরাল্ডশনিডার> আপনি পড়ার মন্তব্য করেছেন, এবং
ক্রিয়া করেছেন

1

আপনি সিএ রুট শংসাপত্রের বান্ডিলটি হ্যাকএক্স.এস থেকে ডাউনলোড করতে পারেন যারা কার্লের স্রষ্টা। তারপরে কেবল তাদের .pem এ আপনার শংসাপত্র যুক্ত করুন এবং --cacert বিকল্পের সাথে কার্ল ব্যবহার করার সময় এটি উল্লেখ করুন


1

-v URL এ https সহ।

$ curl -v https://google.com
* Rebuilt URL to: https://google.com/
* timeout on name lookup is not supported
*   Trying 172.217.9.174...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to google.com (172.217.9.174) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   *CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt*

নাঃ। এটি আমার জন্য এমন কিছু দেখায় নি। আসলে, আমি এর আউটপুট তুলনা করেছি অন্য রান সঙ্গে একটি -kবিকল্প আছে কিনা তা দেখার জন্য অপশন যুক্ত করে । কোনও পার্থক্য ছিল না।
এলএস

@ ইউএসএল আপনার কি ইউআরএল এ https আছে?
ফিলিপ রেগো

0

ডিফল্ট সিএ বান্ডিল অবস্থান ওএস নির্ভর। RHEL5- এ, এটি /etc/pki/tls/certs/ca-bundle.pem এ অবস্থিত in লিনাক্স বা নন-লিনাক্স ওএস এর স্বাদে এটি অন্য কোনও স্থানে থাকতে পারে।


সুতরাং আমি অনুমান করি যে আমি কেবল তখনই সেই ফাইলটি অনুসন্ধান করব ...
স্লিঙ্কি

2
আরেকটি ধারণা: # স্ট্রিং / ওএসআর / লিব 64/libcurl.so.3 | egrep '^ /' /etc/pki/tls/certs/ca-bundle.crt
অফবি 1 ই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.