এই ডকুমেন্টটিতে জিমেইল এপিআই-তে এস/এমআইএমই ইমেইল সার্টিফিকেট কীভাবে ব্যবহার করতে হয়, তা ব্যাখ্যা করা হয়েছে।
জিমেইল এপিআই একটি গুগল ওয়ার্কস্পেস ডোমেইনের ব্যবহারকারীদের জন্য এস/এমআইএমই ইমেল সার্টিফিকেট পরিচালনা করার প্রোগ্রাম্যাটিক অ্যাক্সেস প্রদান করে।
সার্টিফিকেটগুলো কার্যকর হওয়ার জন্য অ্যাডমিনিস্ট্রেটরকে ডোমেইনটির জন্য হোস্টেড S/MIME চালু করতে হবে।
S/MIME স্ট্যান্ডার্ড MIME ডেটার পাবলিক কী এনক্রিপশন এবং স্বাক্ষরের জন্য একটি স্পেসিফিকেশন প্রদান করে। যখন কোনো ব্যবহারকারী অ্যাকাউন্টে S/MIME সার্টিফিকেট কনফিগার করা হয়, তখন Gmail সেগুলোকে নিম্নলিখিত উপায়ে ব্যবহার করে:
ব্যবহারকারীর সার্টিফিকেট এবং প্রাইভেট কী দিয়ে বহির্গামী মেইলে স্বাক্ষর করুন।
ব্যবহারকারীর প্রাইভেট কী ব্যবহার করে আগত মেইল ডিক্রিপ্ট করুন।
প্রাপকের সার্টিফিকেট এবং পাবলিক কী ব্যবহার করে প্রেরিত মেইল এনক্রিপ্ট করুন।
প্রেরকের সার্টিফিকেট এবং পাবলিক কী ব্যবহার করে আগত মেইল যাচাই করুন।
আপনি Gmail API ব্যবহার করে স্বতন্ত্র S/MIME সার্টিফিকেট তৈরি এবং আপলোড করতে পারেন। প্রতিটি S/MIME সার্টিফিকেট ব্যবহারকারীর ইমেল অ্যাকাউন্টের একটি নির্দিষ্ট অ্যালিয়াসের জন্য হয়ে থাকে। অ্যালিয়াসগুলোর মধ্যে প্রাথমিক ইমেল ঠিকানা এবং নিজস্ব "Send As" ঠিকানা অন্তর্ভুক্ত থাকে। API প্রতিটি অ্যালিয়াসের জন্য একটিমাত্র S/MIME সার্টিফিকেটকে ডিফল্ট হিসেবে চিহ্নিত করে।
অ্যালিয়াস সম্পর্কে আরও তথ্যের জন্য, “Gmail API ব্যবহার করে অ্যালিয়াস ও সিগনেচার পরিচালনা করুন” দেখুন।
এপিআই অ্যাক্সেস অনুমোদন করুন
জিমেইল এপিআই-তে অ্যাক্সেস অনুমোদন করতে, নিম্নলিখিত পদ্ধতিগুলোর মধ্যে একটি ব্যবহার করুন:
ডোমেন-ব্যাপী কর্তৃত্ব অর্পণ সহ একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন। এই পদগুলির ব্যাখ্যার জন্য, প্রমাণীকরণ এবং অনুমোদন সম্পর্কে জানুন দেখুন। এই বিকল্পটি সক্রিয় করতে, অ্যাক্সেস ক্রেডেনশিয়াল তৈরি করুন দেখুন।
একটি OAuth 2.0 অ্যাক্সেস টোকেন পেতে, এমন একটি স্ট্যান্ডার্ড OAuth 2.0 ফ্লো ব্যবহার করুন যার জন্য এন্ড-ইউজারের সম্মতি প্রয়োজন। আরও তথ্যের জন্য, অথেনটিকেশন এবং অথরাইজেশন সম্পর্কে জানুন দেখুন।
এই বিকল্পটি ব্যবহার করার জন্য, ডোমেইন অ্যাডমিনিস্ট্রেটরকে অবশ্যই গুগল অ্যাডমিন কনসোলে ‘Enable S/MIME encryption for sending and receiving emails’ চেকবক্সটি নির্বাচন করতে হবে। আরও তথ্যের জন্য, ‘Turn on hosted S/MIME in your Google Admin console’ দেখুন।
ACL স্কোপ
জিমেইল এপিআই, জিমেইলের sendAs মেথডগুলোর মতোই একই ACL স্কোপের উপর নির্ভর করে:
gmail.settings.basic: প্রাথমিকSendAsS/MIME আপডেট করার জন্য এই স্কোপটি প্রয়োজন।gmail.settings.sharing: S/MIME থেকে কাস্টম আপডেট করার জন্য এই স্কোপটি প্রয়োজন।
S/MIME কী কনফিগার করুন
settings.sendAs.smimeInfo রিসোর্সটি S/MIME সার্টিফিকেট ব্যবস্থাপনার জন্য বেশ কয়েকটি মেথড প্রদান করে। প্রতিটি সার্টিফিকেট একজন ব্যবহারকারীর জন্য একটি send-as অ্যালিয়াসের সাথে যুক্ত থাকে।
কোনো ব্যবহারকারীর সেন্ড-অ্যাজ অ্যালিয়াস নির্ধারণ করতে, settings.sendAs রিসোর্সের settings.sendAs.list মেথডটি ব্যবহার করুন।
একটি S/MIME কী আপলোড করুন
কোনো ব্যবহারকারীর অ্যালিয়াসের জন্য একটি নতুন S/MIME কী আপলোড করতে settings.sendAs.smimeInfo রিসোর্সের settings.sendAs.smimeInfo.insert মেথডটি ব্যবহার করুন। নিম্নলিখিত পাথ প্যারামিটার ব্যবহার করে টার্গেট অ্যালিয়াসটি শনাক্ত করুন:
userId: ব্যবহারকারীর ইমেল ঠিকানা। প্রমাণীকৃত ব্যবহারকারীকে নির্দেশ করতেmeবিশেষ মানটি ব্যবহার করুন।sendAsEmail: যে অ্যালিয়াসের জন্য আপনি কী-টি আপলোড করছেন। এই অ্যালিয়াস ব্যবহার করে পাঠানো মেইলেরFrom:হেডারে এই ইমেল ঠিকানাটি দেখা যায়।
S/MIME সার্টিফিকেট এবং প্রাইভেট কী অবশ্যই pkcs12 ফিল্ডে ওই ফরম্যাটে থাকতে হবে; রিকোয়েস্টে অন্য কোনো ফিল্ড সেট করা যাবে না। pkcs12 ফিল্ডটিতে ব্যবহারকারীর S/MIME কী এবং সাইনিং সার্টিফিকেট চেইন উভয়ই থাকে। API এই ফিল্ডটি গ্রহণ করার আগে নিম্নলিখিত বিষয়গুলো যাচাই করে স্ট্যান্ডার্ড ভ্যালিডেশন সম্পাদন করে:
- বিষয়টি নির্দিষ্ট ইমেল ঠিকানার সাথে মিলে যায়।
- মেয়াদোত্তীর্ণ তারিখগুলো বৈধ।
- সার্টিফিকেট প্রদানকারী কর্তৃপক্ষ (CA) গুগলের বিশ্বস্ত তালিকায় রয়েছে।
- সার্টিফিকেটগুলো জিমেইলের প্রযুক্তিগত সীমাবদ্ধতার সাথে সামঞ্জস্যপূর্ণ।
যদি কী-টি এনক্রিপ্ট করা থাকে, তাহলে পাসওয়ার্ডটি encryptedKeyPassword ফিল্ডে থাকতে হবে। settings.sendAs.smimeInfo.insert মেথডটির একটি সফল কল settings.sendAs.smimeInfo রিসোর্স id রিটার্ন করে, যা ভবিষ্যতে কী-টিকে নির্দেশ করতে ব্যবহৃত হয়।
একজন ব্যবহারকারীর S/MIME কীগুলির তালিকা
প্রদত্ত অ্যালিয়াসের জন্য প্রদত্ত ব্যবহারকারীর S/MIME কী-গুলির তালিকা ফেরত পেতে settings.sendAs.smimeInfo রিসোর্সের settings.sendAs.smimeInfo.list মেথডটি ব্যবহার করুন। নিম্নলিখিত পাথ প্যারামিটারগুলি ব্যবহার করে টার্গেট অ্যালিয়াসটি শনাক্ত করুন:
userId: ব্যবহারকারীর ইমেল ঠিকানা। প্রমাণীকৃত ব্যবহারকারীকে নির্দেশ করতেmeবিশেষ মানটি ব্যবহার করুন।sendAsEmail: যে অ্যালিয়াসের জন্য কী-গুলো তালিকাভুক্ত করা হবে। এই অ্যালিয়াস ব্যবহার করে পাঠানো মেইলেরFrom:হেডারে এই ইমেল ঠিকানাটি দেখা যায়।
একটি অ্যালিয়াসের জন্য S/MIME কীগুলি পুনরুদ্ধার করুন
কোনো ব্যবহারকারীর একটি নির্দিষ্ট সেন্ড-অ্যাস অ্যালিয়াসের জন্য নির্দিষ্ট S/MIME কীগুলো ফেরত পেতে, settings.sendAs.smimeInfo রিসোর্সের settings.sendAs.smimeInfo.get মেথডটি ব্যবহার করুন। নিম্নলিখিত পাথ প্যারামিটারগুলো ব্যবহার করে টার্গেট অ্যালিয়াসটি শনাক্ত করুন:
userId: ব্যবহারকারীর ইমেল ঠিকানা। প্রমাণীকৃত ব্যবহারকারীকে নির্দেশ করতেmeবিশেষ মানটি ব্যবহার করুন।sendAsEmail: যে অ্যালিয়াসের জন্য আপনি কী-গুলো পুনরুদ্ধার করছেন। এই অ্যালিয়াস ব্যবহার করে পাঠানো মেইলেরFrom:হেডারে এই ইমেল ঠিকানাটি দেখা যায়।
একটি S/MIME কী মুছে ফেলুন
একটি অ্যালিয়াস থেকে নির্দিষ্ট S/MIME কী মুছে ফেলার জন্য settings.sendAs.smimeInfo রিসোর্সের settings.sendAs.smimeInfo.delete মেথডটি ব্যবহার করুন। নিম্নলিখিত পাথ প্যারামিটার ব্যবহার করে টার্গেট অ্যালিয়াসটি শনাক্ত করুন:
userId: ব্যবহারকারীর ইমেল ঠিকানা। প্রমাণীকৃত ব্যবহারকারীকে নির্দেশ করতেmeবিশেষ মানটি ব্যবহার করুন।sendAsEmail: যে অ্যালিয়াসটির কী-গুলো আপনি মুছে ফেলছেন। এই অ্যালিয়াস ব্যবহার করে পাঠানো মেইলেরFrom:হেডারে এই ইমেল ঠিকানাটি দেখা যায়।id:smimeInfoএর অপরিবর্তনীয় আইডি।
একটি অ্যালিয়াসের জন্য ডিফল্ট S/MIME কী সেট করুন
নির্দিষ্ট অ্যালিয়াসের জন্য নির্দিষ্ট S/MIME কী-কে ডিফল্ট হিসেবে চিহ্নিত করতে settings.sendAs.smimeInfo রিসোর্সের settings.sendAs.smimeInfo.setDefault মেথডটি ব্যবহার করুন। নিম্নলিখিত পাথ প্যারামিটার ব্যবহার করে টার্গেট অ্যালিয়াসটি শনাক্ত করুন:
userId: ব্যবহারকারীর ইমেল ঠিকানা। প্রমাণীকৃত ব্যবহারকারীকে নির্দেশ করতেmeবিশেষ মানটি ব্যবহার করুন।sendAsEmail: যে কী-গুলোকে ডিফল্ট হিসেবে সেট করা হবে, তার জন্য ব্যবহৃত অ্যালিয়াস। এই অ্যালিয়াস ব্যবহার করে পাঠানো মেইলেরFrom:হেডারে এই ইমেল ঠিকানাটি দেখা যায়।id:smimeInfoএর অপরিবর্তনীয় আইডি।
কোডের নমুনা
নিম্নলিখিত কোড নমুনাগুলি দেখায় কিভাবে একাধিক ব্যবহারকারী সহ একটি সংস্থার জন্য S/MIME সার্টিফিকেট পরিচালনা করতে Gmail API ব্যবহার করতে হয়:
একটি S/MIME সার্টিফিকেটের জন্য একটি smimeInfo রিসোর্স তৈরি করুন
এই কোড নমুনাটি দেখায় কিভাবে একটি ফাইল থেকে একটি সার্টিফিকেট পড়তে হয়, সেটিকে একটি Base64URL স্ট্রিং-এ এনকোড করতে হয়, এবং settings.sendAs.smimeInfo রিসোর্সের pkcs12 ফিল্ডে অ্যাসাইন করতে হয়:
জাভা
পাইথন
একটি S/MIME সার্টিফিকেট আপলোড করুন
সার্টিফিকেট আপলোড করতে, settings.sendAs.smimeInfo.insert মেথডটি কল করুন এবং রিকোয়েস্টের বডিতে settings.sendAs.smimeInfo রিসোর্সটি সরবরাহ করুন:
জাভা
পাইথন
একাধিক ব্যবহারকারীর সার্টিফিকেট পরিচালনা করুন
এই কোড নমুনাগুলো দেখায় কিভাবে একটি প্রতিষ্ঠানে একাধিক ব্যবহারকারীর সার্টিফিকেট একটি ব্যাচ কলের মাধ্যমে পরিচালনা করা যায়:
CSV ফাইল থেকে সার্টিফিকেটগুলো প্রবেশ করান।
নিচে একটি নমুনা CSV ফাইল দেওয়া হলো, যেখানে ব্যবহারকারী আইডি এবং প্রতিটি ব্যবহারকারীর সার্টিফিকেটের পাথ তালিকাভুক্ত করা আছে:
$ cat certificates.csv
user1@example.com,/path/to/user1_cert.p12,cert_password_1
user2@example.com,/path/to/user2_cert.p12,cert_password_2
user3@example.com,/path/to/user3_cert.p12,cert_password_3
জাভা
আপনি একটি CSV ফাইলে উল্লেখিত ব্যবহারকারীদের সার্টিফিকেট আপলোড করার জন্য CreateSmimeInfo এবং InsertSmimeInfo স্যাম্পলগুলো ব্যবহার করতে পারেন:
পাইথন
আপনি একটি CSV ফাইলে নির্দিষ্ট করা ব্যবহারকারীদের সার্টিফিকেট আপলোড করতে create_smime_info এবং insert_smime_info স্যাম্পলগুলো ব্যবহার করতে পারেন:
সার্টিফিকেট ব্যবস্থাপনা
এই নমুনাটি আপনার প্রতিষ্ঠানের জন্য সার্টিফিকেট কীভাবে পরিচালনা করতে হয় তা দেখানোর জন্য settings.sendAs.smimeInfo রিসোর্সের কয়েকটি পদ্ধতিকে একত্রিত করে। এটি ব্যবহারকারীর সার্টিফিকেটগুলো তালিকাভুক্ত করে। যদি ডিফল্ট সার্টিফিকেটটির মেয়াদ শেষ হয়ে যায় বা সেট করা না থাকে, তবে এটি নির্দিষ্ট ফাইলে থাকা সার্টিফিকেটটি আপলোড করে। এরপর, যে সার্টিফিকেটটির মেয়াদ সবচেয়ে ভবিষ্যতে শেষ হবে, সেটিকে ডিফল্ট হিসেবে সেট করে।
এই ফাংশনটি তখন একটি CSV ফাইল প্রসেস করে, যা পূর্ববর্তী 'CSV ফাইল থেকে সার্টিফিকেট সন্নিবেশ করান' নমুনাটির অনুরূপ।
জাভা
পাইথন
সম্পর্কিত বিষয়
- জিমেইল এপিআই দিয়ে অ্যালিয়াস ও সিগনেচার পরিচালনা করুন
- জিমেইল এপিআই স্কোপ নির্বাচন করুন
- বার্তা এনক্রিপশনের জন্য হোস্টেড S/MIME চালু করুন।