কীভাবে রেডহ্যাটে সিআরএল সিএ বান্ডেল আপডেট করবেন?


38

আমি এমন সমস্যাগুলিতে চলে আসছি যেখানে আমার সিআরএল এর সংস্করণটি বান্ডিল করা সিএ বান্ডেলটি পুরানো।

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

ডকুমেন্টেশনটি পড়ে আমার কোনও উপকার হয়নি কারণ আমার কী করা দরকার বা কীভাবে করব তা আমি বুঝতে পারি নি। আমি রেডহ্যাট চালাচ্ছি এবং সিএ বান্ডেলটি আপডেট করা দরকার। রেডহ্যাটটিতে আমার সিএ বান্ডিলটি আপডেট করতে আমার কী করতে হবে?

উত্তর:


50

RHEL 6 বা তার পরে আপনার জন্য আপডেট-সিএ-বিশ্বাস ব্যবহার করা উচিত , যেমন lzap নীচে তার উত্তরে বর্ণনা করেছে।

--- ফেডোরা, সেন্টোস, রেডহ্যাট এর পুরানো সংস্করণগুলির জন্য:

কার্ল সিস্টেম-ডিফল্ট সিএ বান্ডেলটি ব্যবহার করছে /etc/pki/tls/certs/ca-bundle.crt- এ সংরক্ষণ করা হয়। আপনি এটি পরিবর্তন করার আগে, সেই ফাইলটির একটি অনুলিপি তৈরি করুন যাতে আপনার প্রয়োজন হলে সিস্টেম ডিফল্টটিকে পুনরুদ্ধার করতে পারেন। আপনি কেবলমাত্র সেই ফাইলটিতে নতুন সিএ শংসাপত্র যুক্ত করতে পারেন বা আপনি পুরো বান্ডিলটি প্রতিস্থাপন করতে পারেন।

আপনিও কি সার্টিফিকেট পাবেন কোথায় তা ভাবছেন? আমি (এবং অন্যরা) curl.haxx.se/ca সুপারিশ করি। এক লাইনে:

curl https://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt

ফেডোরা কোর 2 অবস্থান /usr/share/ssl/certs/ca-bundle.crt


এটি বেশ ভাল, তবে আমি কীভাবে নিশ্চিত হতে পারি যে আমি যে শংসাপত্রটি যুক্ত করেছি তা CA-bundle.crt এর পরবর্তী আপডেটে হারিয়ে যাবে না? নতুন স্থানটি রাখার মতো এমন কোনও জায়গা আছে যেখানে এটি স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত হবে?
অ্যান্ড্রু শুলম্যান 22'14

2006 সালের হিসাবে, ওপেনসেল আপগ্রেডগুলি সিএ-বান্ডেল সিআরটি ফাইলটি প্রতিস্থাপন করা উচিত নয় ( rhn.redhat.com/errata/RHSA-2006-0661.html দেখুন )। তবে, যদি আপনি @ এমগোর্ভেন দ্বারা প্রস্তাবিত সিএ-সার্টিফিকেট প্যাকেজের মতো আরও একটি প্যাকেজ ইনস্টল করা থাকে তবে আমি আশা করি এটি ম্যানুয়ালি ওভাররাইট হবে ten
নদা

36

আরএইচইএল 6+ সিস্টেমে এটি করার প্রস্তাবিত উপায় হল আপডেট-সিএ-বিশ্বাসের সরঞ্জামটি ব্যবহার করা, যা এখন ডিফল্টরূপে ইনস্টল installed

# cat /etc/pki/ca-trust/source/README 
This directory /etc/pki/ca-trust/source/ contains CA certificates and 
trust settings in the PEM file format. The trust settings found here will be
interpreted with a high priority - higher than the ones found in 
/usr/share/pki/ca-trust-source/.

=============================================================================
QUICK HELP: To add a certificate in the simple PEM or DER file formats to the
            list of CAs trusted on the system:

            Copy it to the
                    /etc/pki/ca-trust/source/anchors/
            subdirectory, and run the
                    update-ca-trust
            command.

            If your certificate is in the extended BEGIN TRUSTED file format,
            then place it into the main source/ directory instead.
=============================================================================

Please refer to the update-ca-trust(8) manual page for additional information

সুতরাং, আপনার কেবলমাত্র crt ফাইলটি /etc/pki/ca-trust/source/anchors/সরঞ্জামটিতে চালিত করতে হবে। কাজ শেষ. এটি করা নিরাপদ, আপনার কোনও ব্যাকআপ নেওয়ার দরকার নেই। সম্পূর্ণ ম্যানুয়াল পৃষ্ঠাটি এখানে পাওয়া যাবে: https://www.mankier.com/8/update-ca-trust


হাই, এটি আপনার পক্ষে কাজ করে? আমি কেবল অ্যাক্সেস.redhat.com/solutions/1549003 থেকে দৃশ্যটি অনুসরণ করার চেষ্টা করেছি এবং এটি আমার পক্ষে কাজ করে না।
কারবি

6

আরএইচএল ca-certificatesপ্যাকেজের অংশ হিসাবে মজিলা সিএ শংসাপত্র সরবরাহ করে ( yumএটি ইতিমধ্যে ইনস্টল না থাকলে এটি ইনস্টল করুন)। এগুলি ব্যবহার করতে সিআরএলকে বলতে, এমনটি --cacertপ্যারামিটার ব্যবহার করুন ।

curl --cacert /etc/ssl/certs/ca-bundle.crt https://google.com/

আমি চেষ্টা করেছি yum install ca-certificatesএবং পেয়েছিNo package ca-certificates available
অ্যান্ড্রু

1
RHEL6 এর এই প্যাকেজটি রয়েছে; আমি অনুমান করছি আপনি একটি পুরানো সংস্করণ ব্যবহার করছেন। দুর্ভাগ্যক্রমে 2010 সাল থেকে তালিকাটি পরিবর্তন হয়নি, আমাদের রেডহ্যাটে টু ডেট রাখার জন্য ধন্যবাদ।
ড্যান প্রীটস

আমি অ্যাডাব্লুএস ইসি 2 তে আরএইচইএল 7 ব্যবহার করছি, আমি আমার প্যাকেজটি কেবলমাত্র উন্নত করেছিলাম ca-certificates.noarch 0:2014.1.98-70.0.el7_0- এটি আমার সমস্যাটিকে দুর্ভাগ্যজনকভাবে সমাধান করেনি, তবে কেবল ভেবেছিল আমি এই তথ্যটি যুক্ত করব।
ডাফজে

6

সম্ভবত রেডহাটের কোন সংস্করণ নির্ভর করে। কোন প্যাকেজটি আসলে ফাইলটি আপডেট করে তা আবিষ্কার করে:

rpm -qf /etc/pki/tls/certs/ca-bundle.crt

আমার ফলাফলটি দেখাচ্ছে যে ওপেনএসএল-0.9.8e-12.el5 আপডেট করা দরকার।

আপনার বিতরণে কোনও আপডেট হওয়া শংসাপত্র না থাকলে, নাদের উত্তর অনুসারে আপনাকে ম্যানুয়ালি আপডেট করতে হবে।


6

ড্যান প্রীটসের মন্তব্যের পর থেকে রেড হ্যাট সমর্থিত আরএইচইল রিলিজের জন্য শংসাপত্রের বান্ডিলগুলি প্রায়শই আপডেট করে চলেছে; আপনি এটি প্যাকেজ চেঞ্জলগে বেশ সহজেই দেখতে পাবেন। আরএইচইএল 6 এর শংসাপত্রগুলি 2013 সালে এবং 2014 সালে দুবার আপডেট হয়েছিল।

সমস্ত আরএইচইএল এবং সম্পর্কিত / ক্লোন / ডাইরেক্টড ডিগ্রোগুলি এখানে একটি বান্ডিল ফাইল সরবরাহ করে /etc/pki/tls/certs/ca-bundle.crtএবং একই ফাইলটিতে /etc/pki/tls/cert.pem(পুরানো ডিস্ট্রোজে cert.pemএকটি সিমিলিংক হয় ca-bundle.crt; আরও নতুন ডিগ্রোগুলিতে উভয়ই একটি ফাইল আউটপুটের প্রতিলিপি হয় update-ca-trust)।

RHEL 6 এবং আরও নতুনতে বান্ডিলটি 'সিএ-শংসাপত্র' প্যাকেজের অংশ। RHEL 5 এবং এর আগে এটি 'ওপেনসেল' প্যাকেজের অংশ।

Https://rhn.redhat.com/errata/RHEA-2013-1596.html এবং যে কোনও নতুন আরএইচইএল আপডেট সহ RHEL 6 এ , 'ভাগ করা সিস্টেম শংসাপত্র' সিস্টেম উপলব্ধ ( update-ca-trust enableএটি সক্ষম করতে আপনাকে অবশ্যই চালানো হবে) এবং সেরা পদ্ধতিটি লাজাপ দ্বারা প্রদত্ত। এই সিস্টেমের একটি সুবিধা হ'ল এটি এনএসএস এবং জ্ঞানটিএলএস-ভিত্তিক অ্যাপ্লিকেশনগুলির পাশাপাশি ওপেনএসএসএল-ভিত্তিকগুলির জন্য কাজ করে। নোট করুন যে আপনি কোনও শংসাপত্রটিকে ডিরেক্টরিতে রেখে অবিশ্বাস করতে পারেন /etc/pki/ca-trust/source/blacklist/

RHEL 5 এবং এর বেশি (এবং আপনি যদি নতুন সিস্টেমটি ব্যবহার করতে না চান তবে RHEL 6) আপনি অতিরিক্ত সিএ-র উপর নির্ভর করতে পারবেন তাদের PEM বিন্যাসকৃত শংসাপত্র ফাইলগুলিতে / ইত্যাদি / পিকি / টিএলএস / সার্টিফিকেটগুলি প্রবাহের সাথে.pem চালিয়ে c_rehash( চালানোর প্রয়োজনও হতে পারে) yum install /usr/bin/c_rehash)। এটি কেবলমাত্র সেই সফটওয়্যারের জন্য কাজ করবে যা ওপেনএসএসএল এর ডিফল্ট বিশ্বাসের স্টোর ব্যবহার করে। এটি বান্ডিল ফাইল সম্পাদনা বা প্রতিস্থাপনের চেয়ে ভাল কারণ এটি আপনাকে বান্ডিল ফাইলে অফিসিয়াল আপডেটগুলি গ্রহণ চালিয়ে যাওয়ার অনুমতি দেয়।

সফ্টওয়্যার যা একটি বান্ডিল ফাইল অবস্থানের সরাসরি ব্যবহার করে (ওপেনএসএসএলকে সিস্টেমের ডিফল্ট ট্রাস্ট স্টোরগুলি ব্যবহার করতে বলার চেয়ে) পরিবর্তনটিকে সম্মান করবে না; আপনার যদি এই জাতীয় সফ্টওয়্যার থাকে তবে আপনি বান্ডিল ফাইল সম্পাদনা করতে (বা সফ্টওয়্যারটি উন্নত করতে) আটকে রয়েছেন। যে সফ্টওয়্যার ওপেনএসএসএল মোটেও ব্যবহার করে না সেগুলি যুক্ত হওয়া শংসাপত্রের সম্মান করবে না।


3

আমাকে কেবল এটি একটি পুরানো আরএইচইল 5 বাক্সে করতে হয়েছিল। আমি 22 টি ধরা পড়েছি ... কার্ল https ডাউনলোডটিকে প্রত্যাখ্যান করবে কারণ মেশিনে থাকা শংসাপত্রগুলি কার্ল.হএক্সএক্স.এস সার্টিফিকেটগুলি যাচাই করার জন্য খুব পুরানো ছিল।

আমি https ডাউনলোডকে বাধ্য করার জন্য কার্লের --insecure বিকল্পটি ব্যবহার করেছি। (হ্যাঁ, আমি জানি ... এটি "অনিরাপদ"))

কার্ল https://curl.haxx.se/ca/cacert.pem --insecure -o /etc/pki/tls/certs/ca-bundle.crt


1

জন্য RHEL 6 , আমি আপডেট করা এবং রেড হ্যাট থেকে সর্বশেষ CA শংশাপত্র প্যাকেজ পুনরায় ইনস্টল দ্বারা এটির সমাধান করতে সক্ষম ছিল:

sudo yum update ca-certificates
sudo yum reinstall ca-certificates

(আমার ক্ষেত্রে, এটি নতুন "লেটস এনক্রিপ্ট অথরিটি এক্স 3" স্বাক্ষরকারী শংসাপত্রকে বিশ্বাস করার অনুমতি দেওয়ার জন্য যথেষ্ট ছিল))


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