প্রকল্প সম্পর্কে

CFSSL (CloudFlare's PKI/TLS swiss army knife) হলো পাবলিক কি ইনফ্রাস্ট্রাকচার (PKI) এবং ট্রান্সপোর্ট লেয়ার সিকিউরিটি (TLS) পরিচালনার জন্য ডিজাইন করা একটি ওপেন-সোর্স টুলকিট। এটি একই সাথে একটি কম্যান্ড-লাইন ইন্টারফেস (CLI) টুল এবং HTTP API সার্ভার হিসেবে কাজ করে, যা ব্যবহারকারীদের TLS সার্টিফিকেট দক্ষতার সাথে সাইন, ভেরিফাই এবং বান্ডেল করতে সক্ষম করে। প্রধান উপাদানসমূহ: - cfssl: বিভিন্ন PKI অপারেশন যেমন সার্টিফিকেট সাইনিং, কী জেনারেশন, বান্ডেল তৈরি এবং API সার্ভার শুরু করার জন্য প্রধান CLI ইউটিলিটি। - multirootca: একাধিক সাইনিং কী ব্যবহার করতে সক্ষম একটি সার্টিফিকেট অথরিটি সার্ভার, যা সাইনিং, অথেন্টিকেটেড সাইনিং এবং তথ্য পুনরুদ্ধারের জন্য এন্ডপয়েন্ট প্রদান করে। - mkbundle: রিভোকেশন এবং এক্সপাইরেশন চেক করে রুট এবং ইন্টারমিডিয়েট সার্টিফিকেট বান্ডেল তৈরি করার জন্য একটি ইউটিলিটি। - cfssljson: CFSSL থেকে JSON আউটপুটকে কী, সার্টিফিকেট, CSR এবং বান্ডেলের জন্য আলাদা PEM ফাইলে রূপান্তরকারী একটি সহায়ক টুল। মূল ক্ষমতাসমূহ: 1. সার্টিফিকেট সাইনিং: ব্যবহারকাররা স্থানীয় বা রিমোট CA ব্যবহার করে সার্টিফিকেট সাইনিং রিকোয়েস্ট (CSR) সাইন করতে পারে। টুলটি JSON কনফিগারেশনের মাধ্যমে হোস্টনেম ওভাররাইড এবং সাবজেক্ট বিবরণ নির্দিষ্ট করার অনুমতি দেয়। 2. সার্টিফিকেট বান্ডেলিং: CFSSL ক্রিপ্টোগ্রাফিক শক্তি এবং ব্রাউজার সামঞ্জস্যের ভিত্তিতে ভিন্ন স্বাদের (optimal, ubiquitous, force) সার্টিফিকেট চেইন তৈরি করতে পারে। এটি সরাসরি ডোমেইন থেকে সার্টিফিকেট আনতে সমর্থ। 3. কী এবং CSR জেনারেশন: JSON টেমপ্লেট ব্যবহার করে প্রাইভেট কী এবং সংশ্লিষ্ট CSR বা সেলফ-সাইন্ড সার্টিফিকেট জেনারেট করা যায়, যা কী অ্যালগরিদম, সাইজ এবং সাবজেক্ট তথ্য সংজ্ঞায়িত করে। 4. OCSP সাপোর্ট: ইস্যু করা সার্টিফিকেটগুলোর জন্য OCSP রেসপন্স তৈরি করা এবং OCSP রেসপন্ডারের মাধ্যমে সেবা প্রদান করা। 5. API সার্ভার: রিমোট সার্টিফিকেট অপারেশনের জন্য একটি HTTP-ভিত্তিক API সার্ভার শুরু করা, যা কাস্টম ঠিকানা, পোর্ট, লগিং লেভেল এবং ডেটাবেস কনফিগারেশনের সাথে কনফিগারযোগ্য। স্থাপনের জন্য cgo ডিপেন্ডেন্সির কারণে Go 1.20+ প্রয়োজন। গিটহাব রিলিজগুলোতে প্রি-বিল্ট বাইনারি পাওয়া যায়। এই টুলকিটটি TLS সার্টিফিকেট লাইফসাইকেল ম্যানেজমেন্ট স্বয়ংক্রিয়করণের জন্য অবকাঠামোতে ব্যাপকভাবে ব্যবহৃত হয়।