শংসাপত্রের উদ্দেশ্য যাচাইকরণ

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

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

TLS সার্টিফিকেটগুলো সাধারণত এক বা একাধিক ব্যবহারের উদ্দেশ্য মাথায় রেখে ইস্যু করা হয়। সাধারণত, সার্টিফিকেটে থাকা পাবলিক কী-এর ব্যবহারের সংখ্যা সীমিত করার জন্যই এটি করা হয়। সার্টিফিকেটের এই উদ্দেশ্যটি নিম্নলিখিত সার্টিফিকেট এক্সটেনশনগুলোতে পাওয়া যায়:

  • মূল ব্যবহার
  • বর্ধিত কী ব্যবহার

মূল ব্যবহার

কী ইউসেজ এক্সটেনশন সার্টিফিকেটে থাকা কী-টির উদ্দেশ্য (যেমন, এনসাইফারমেন্ট, সিগনেচার বা সার্টিফিকেট সাইনিং) নির্ধারণ করে। যদি পাবলিক কী সত্তা প্রমাণীকরণের জন্য ব্যবহৃত হয়, তাহলে সার্টিফিকেট এক্সটেনশনে ‘ডিজিটাল সিগনেচার’ কী ইউসেজটি থাকা উচিত।

সার্টিফিকেট অথরিটি (CA) প্রক্রিয়া ব্যবহার করে তৈরি একটি TLS সার্টিফিকেটের জন্য উপলব্ধ বিভিন্ন কী ইউসেজ এক্সটেনশনগুলি নিম্নরূপ:

  • ডিজিটাল স্বাক্ষর
  • অস্বীকৃতি
  • কী এনক্রিপশন
  • ডেটা এনক্রিপশন
  • মূল চুক্তি
  • সার্টিফিকেট স্বাক্ষর
  • সিআরএল স্বাক্ষর
  • শুধুমাত্র এনসাইফার
  • শুধুমাত্র পাঠোদ্ধার করুন

এই কী ইউসেজ এক্সটেনশনগুলো সম্পর্কে আরও তথ্যের জন্য, RFC5280, Key Usage দেখুন।

বর্ধিত কী ব্যবহার

এই এক্সটেনশনটি, কী ইউসেজ এক্সটেনশনে উল্লিখিত মৌলিক উদ্দেশ্যগুলোর পাশাপাশি বা সেগুলোর পরিবর্তে, সার্টিফাইড পাবলিক কী ব্যবহারের এক বা একাধিক উদ্দেশ্য নির্দেশ করে। সাধারণত, এই এক্সটেনশনটি শুধুমাত্র এন্ড এনটিটি সার্টিফিকেটেই দেখা যায়।

কিছু সাধারণ বর্ধিত কী ব্যবহারের এক্সটেনশন নিচে দেওয়া হলো:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

একটি এক্সটেন্ডেড কী ক্রিটিক্যাল অথবা নন-ক্রিটিক্যাল হতে পারে।

  • এক্সটেনশনটি গুরুত্বপূর্ণ হলে, সার্টিফিকেটটি শুধুমাত্র নির্দেশিত উদ্দেশ্য বা উদ্দেশ্যগুলোর জন্যই ব্যবহার করতে হবে। সার্টিফিকেটটি অন্য কোনো উদ্দেশ্যে ব্যবহার করা হলে, তা CA-এর নীতির লঙ্ঘন বলে গণ্য হবে।
  • যদি এক্সটেনশনটি নন-ক্রিটিক্যাল হয়, তবে এটি নির্দেশ করে যে কী-টির উদ্দিষ্ট উদ্দেশ্য বা উদ্দেশ্যগুলো তথ্যমূলক এবং এর দ্বারা এটা বোঝায় না যে CA (সার্টিফিকেট অথরিটি) কী-টির ব্যবহারকে শুধুমাত্র নির্দেশিত উদ্দেশ্যেই সীমাবদ্ধ রাখে। তবে, সার্টিফিকেট ব্যবহারকারী অ্যাপ্লিকেশনগুলোর ক্ষেত্রে সার্টিফিকেটটি গ্রহণযোগ্য হওয়ার জন্য একটি নির্দিষ্ট উদ্দেশ্য উল্লেখ করার প্রয়োজন হতে পারে।

যদি কোনো সার্টিফিকেটে ‘কী ইউসেজ’ ফিল্ড এবং ‘এক্সটেন্ডেড কী ইউসেজ’ ফিল্ড উভয়ই ‘ক্রিটিক্যাল’ হিসেবে থাকে, তাহলে উভয় ফিল্ডকে আলাদাভাবে প্রসেস করতে হবে এবং সার্টিফিকেটটি শুধুমাত্র এমন কোনো উদ্দেশ্যে ব্যবহার করা যাবে যা উভয় ‘কী ইউসেজ’ ভ্যালুকেই সন্তুষ্ট করে। তবে, যদি এমন কোনো উদ্দেশ্য না থাকে যা উভয় ‘কী ইউসেজ’ ভ্যালুকেই সন্তুষ্ট করতে পারে, তাহলে সেই সার্টিফিকেটটি কোনো উদ্দেশ্যেই ব্যবহার করা যাবে না।

যখন আপনি একটি সার্টিফিকেট সংগ্রহ করবেন, তখন নিশ্চিত করুন যে এতে ক্লায়েন্ট বা সার্ভার সার্টিফিকেটের প্রয়োজনীয়তা পূরণের জন্য সঠিক কী ইউসেজ (key usage) সংজ্ঞায়িত করা আছে, যা ছাড়া TLS হ্যান্ডশেক ব্যর্থ হবে।

উদ্দেশ্য মূল ব্যবহার

(বাধ্যতামূলক)

বর্ধিত কী ব্যবহার

(ঐচ্ছিক)

ভার্চুয়াল হোস্টের Apigee Edge কীস্টোরে ব্যবহৃত সার্ভার এনটিটি সার্টিফিকেট
  • ডিজিটাল স্বাক্ষর
  • কী এনসাইফারমেন্ট বা কী চুক্তি
TLS ওয়েব সার্ভার প্রমাণীকরণ
ভার্চুয়াল হোস্টের Apigee Edge ট্রাস্টস্টোরে ব্যবহৃত ক্লায়েন্ট এনটিটি সার্টিফিকেট
  • ডিজিটাল স্বাক্ষর বা কী চুক্তি
TLS ওয়েব ক্লায়েন্ট প্রমাণীকরণ
টার্গেট সার্ভারের Apigee Edge ট্রাস্টস্টোরে ব্যবহৃত সার্ভার এনটিটি সার্টিফিকেট
  • ডিজিটাল স্বাক্ষর
  • কী এনসাইফারমেন্ট বা কী চুক্তি
TLS ওয়েব সার্ভার প্রমাণীকরণ
টার্গেট সার্ভারের Apigee Edge কীস্টোরে ব্যবহৃত ক্লায়েন্ট এনটিটি সার্টিফিকেট
  • ডিজিটাল স্বাক্ষর বা কী চুক্তি
TLS ওয়েব ক্লায়েন্ট প্রমাণীকরণ
মধ্যবর্তী এবং রুট সার্টিফিকেট
  • সার্টিফিকেট স্বাক্ষর
  • সার্টিফিকেট বাতিলকরণ তালিকা (CRL) চিহ্ন

শুরু করার আগে

এই নথিতে বর্ণিত ধাপগুলো ব্যবহার করার আগে, নিম্নলিখিত বিষয়গুলো আপনি ভালোভাবে বুঝেছেন কিনা তা নিশ্চিত করুন:

  • আপনি যদি সার্টিফিকেট চেইন সম্পর্কে পরিচিত না হন, তাহলে ‘চেইন অফ ট্রাস্ট’ পড়ুন।
  • আপনি যদি OpenSSL লাইব্রেরির সাথে পরিচিত না হন, তাহলে OpenSSL পড়ুন।
  • আপনি যদি কী ইউসেজ এক্সটেনশন এবং এক্সটেন্ডেড কী ইউসেজ সম্পর্কে আরও জানতে চান, তাহলে RFC5280 পড়ুন।
  • আপনি যদি এই নির্দেশিকায় থাকা কমান্ড-লাইন উদাহরণগুলো ব্যবহার করতে চান, তাহলে OpenSSL ক্লায়েন্টের সর্বশেষ সংস্করণটি ইনস্টল বা আপডেট করুন।
  • সার্টিফিকেটগুলো PEM ফরম্যাটে আছে কিনা তা নিশ্চিত করুন এবং যদি না থাকে, তাহলে সার্টিফিকেটগুলোকে PEM ফরম্যাটে রূপান্তর করুন

সার্টিফিকেটের উদ্দেশ্য যাচাই করুন।

এই অংশে সার্টিফিকেটের উদ্দেশ্য যাচাই করার জন্য ব্যবহৃত পদক্ষেপগুলো বর্ণনা করা হয়েছে।

  1. যে সার্ভারে OpenSSL রয়েছে, সেখানে লগইন করুন।
  2. একটি সার্টিফিকেটের কী-ইউসেজ পেতে, নিম্নলিখিত OpenSSL কমান্ডটি চালান:
    openssl x509 -noout -ext keyUsage < certificate

    যেখানে certificate হলো সার্টিফিকেটটির নাম।

    নমুনা আউটপুট

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. যদি কোনো কী-এর ব্যবহার বাধ্যতামূলক হয়, তাহলে সেটিকে নিম্নোক্তভাবে ক্রিটিক্যাল হিসেবে সংজ্ঞায়িত করা হবে:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. একটি সার্টিফিকেটের এক্সটেন্ডেড কী ইউসেজ (extended key usage) পেতে নিম্নলিখিত কমান্ডটি চালান। যদি এক্সটেন্ডেড কী ইউসেজকে 'ক্রিটিক্যাল' (critical) হিসেবে সংজ্ঞায়িত করা না থাকে, তবে এটি একটি সুপারিশ, বাধ্যতামূলক নয়।
    openssl x509 -noout -ext extendedKeyUsage < certificate

    যেখানে certificate হলো সার্টিফিকেটটির নাম।

    নমুনা আউটপুট

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication