Gmail S/MIME API এ ব্যবহারকারীদের জন্য S/MIME ইমেল সার্টিফিকেট পরিচালনা করতে প্রোগ্রাম্যাটিক অ্যাক্সেস প্রদান করে Google Workspace ডোমেইন
সার্টিফিকেটগুলি কাজ করার জন্য একজন প্রশাসককে অবশ্যই ডোমেনের জন্য S/MIME সক্ষম করতে হবে৷
S/MIME স্ট্যান্ডার্ড পাবলিক কী এনক্রিপশন এবং MIME ডেটা স্বাক্ষর করার জন্য একটি স্পেসিফিকেশন প্রদান করে। ব্যবহারকারীর অ্যাকাউন্টে S/MIME শংসাপত্রগুলি কনফিগার করার ফলে Gmail নিম্নলিখিত উপায়ে সেই শংসাপত্রটি ব্যবহার করতে পারে:
- আউটগোয়িং মেল সাইন করার জন্য Gmail ব্যবহারকারীর শংসাপত্র এবং ব্যক্তিগত কী ব্যবহার করে।
- ইনকামিং মেল ডিক্রিপ্ট করতে Gmail ব্যবহারকারীর ব্যক্তিগত কী ব্যবহার করে।
- Gmail বহির্গামী মেল এনক্রিপ্ট করতে প্রাপকের শংসাপত্র এবং সর্বজনীন কী ব্যবহার করে।
- Gmail ইনকামিং মেল যাচাই করতে প্রেরকের শংসাপত্র এবং সর্বজনীন কী ব্যবহার করে।
আপনি পৃথক S/MIME সার্টিফিকেট তৈরি করেন এবং API ব্যবহার করে আপলোড করেন। প্রতিটি S/MIME শংসাপত্র একটি ব্যবহারকারী ইমেল অ্যাকাউন্টের জন্য একটি নির্দিষ্ট উপনামের জন্য। উপনামগুলির মধ্যে প্রাথমিক ইমেল ঠিকানার পাশাপাশি কাস্টম "এই রূপে পাঠান" ঠিকানা অন্তর্ভুক্ত থাকে। প্রতিটি উপনামের জন্য একটি একক S/MIME শংসাপত্রকে ডিফল্ট হিসাবে চিহ্নিত করা হয়েছে৷
API অ্যাক্সেস অনুমোদন করা হচ্ছে
API-তে অ্যাক্সেস অনুমোদনের দুটি রূপ রয়েছে:
- আপনি কর্তৃপক্ষের ডোমেইন-ওয়াইড ডেলিগেশন সহ একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করতে পারেন। এই শর্তাবলীর ব্যাখ্যার জন্য, প্রমাণীকরণ এবং অনুমোদন ওভারভিউ শর্তাবলী পড়ুন। এই বিকল্পটি সক্ষম করার বিষয়ে তথ্যের জন্য, কর্তৃপক্ষের ডোমেইন-ওয়াইড প্রতিনিধিদের সাথে একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন দেখুন
- আপনি একটি Oauth2 অ্যাক্সেস টোকেন পেতে শেষ-ব্যবহারকারীর সম্মতি প্রয়োজন এমন একটি আদর্শ OAuth2 ফ্লো ব্যবহার করতে পারেন। আরও তথ্যের জন্য, প্রমাণীকরণ এবং অনুমোদন ওভারভিউ পড়ুন এই বিকল্পটি ব্যবহার করার জন্য, ডোমেন প্রশাসককে অবশ্যই ডোমেন নিয়ন্ত্রণ প্যানেলে "S/MIME API শেষ ব্যবহারকারী অ্যাক্সেস সক্ষম" চেকবক্স সক্ষম করতে হবে৷
ACL স্কোপ
এই API জিমেইল sendAs পদ্ধতিগুলির মতো একই ACL স্কোপের উপর নির্ভর করে:
- gmail.settings.basic
- প্রাথমিক SendAs S/MIME আপডেট করার জন্য এই সুযোগ প্রয়োজন।
- gmail.settings.sharing
- S/MIME থেকে কাস্টম আপডেট করার জন্য এই সুযোগটি প্রয়োজন৷
API ব্যবহার করে
user.settings.sendAs.smimeInfo রিসোর্স সেই পদ্ধতিগুলি প্রদান করে যা আপনি S/MIME শংসাপত্রগুলি পরিচালনা করতে ব্যবহার করেন৷ প্রতিটি শংসাপত্র একজন ব্যবহারকারীর জন্য একটি পাঠান উপনামের সাথে যুক্ত।
একটি S/MIME কী আপলোড করুন৷
ব্যবহারকারীর অন্তর্গত একটি উপনামের জন্য একটি নতুন S/MIME কী আপলোড করতে smimeInfo.insert() পদ্ধতিটি ব্যবহার করুন৷ আপনি নিম্নলিখিত পরামিতি ব্যবহার করে লক্ষ্য উপনাম সনাক্ত করুন:
- ব্যবহারকারী আইডি
- ব্যবহারকারীর ইমেইল ঠিকানা. আপনি বর্তমানে প্রমাণীকৃত ব্যবহারকারী নির্দেশ করতে বিশেষ
me
ব্যবহার করতে পারেন। - sendAsEmail
- যে উপনামের জন্য আপনি কী আপলোড করছেন। এই ইমেল ঠিকানাটি এই উপনাম ব্যবহার করে পাঠানো মেলের জন্য "থেকে:" শিরোনামে প্রদর্শিত হয়৷
S/MIME শংসাপত্র এবং ব্যক্তিগত কী সেই বিন্যাসে pkcs12
ক্ষেত্রে উপস্থিত থাকা উচিত; অনুরোধে অন্য কোন ক্ষেত্র সেট করা উচিত নয়। PKCS12 ফিল্ডে ব্যবহারকারী S/MIME কী এবং সাইনিং সার্টিফিকেট চেইন উভয়ই থাকবে বলে আশা করা হচ্ছে। API এটি গ্রহণ করার আগে এই ক্ষেত্রের মান যাচাই করে, নিম্নলিখিতগুলি যাচাই করে:
- বিষয় নির্দিষ্ট ইমেল ঠিকানা মেলে.
- মেয়াদোত্তীর্ণ বৈধ.
- ইস্যুকারী শংসাপত্র কর্তৃপক্ষ (CA) আমাদের বিশ্বস্ত তালিকায় রয়েছে।
- শংসাপত্রগুলি Gmail-এর প্রযুক্তিগত সীমাবদ্ধতার সাথে মেলে৷
যদি কীটি এনক্রিপ্ট করা থাকে তবে পাসওয়ার্ডটি encryptedKeyPassword
ক্ষেত্রে থাকা উচিত। সফল সন্নিবেশ() কলগুলি smimeInfo-এর আইডি ফিরিয়ে দেবে যা ভবিষ্যতে কী উল্লেখ করতে ব্যবহার করা যেতে পারে।
একজন ব্যবহারকারীর S/MIME কী তালিকাভুক্ত করুন
প্রদত্ত উপনামের জন্য প্রদত্ত ব্যবহারকারীর জন্য S/MIME কীগুলির তালিকা ফেরত দিতে smimeInfo.list() পদ্ধতিটি ব্যবহার করুন। আপনি নিম্নলিখিত পরামিতি ব্যবহার করে লক্ষ্য উপনাম সনাক্ত করুন:
- ব্যবহারকারী আইডি
- ব্যবহারকারীর ইমেইল ঠিকানা. আপনি বর্তমানে প্রমাণীকৃত ব্যবহারকারী নির্দেশ করতে বিশেষ
me
ব্যবহার করতে পারেন। - sendAsEmail
- যে উপনামের জন্য কী তালিকাভুক্ত করতে হবে। এই ইমেল ঠিকানাটি এই উপনাম ব্যবহার করে পাঠানো মেলের জন্য "থেকে:" শিরোনামে প্রদর্শিত হয়৷
একটি উপনামের জন্য S/MIME কীগুলি পুনরুদ্ধার করুন৷
একটি ব্যবহারকারীর জন্য একটি নির্দিষ্ট সেন্ড-এজ অ্যালিয়াসের জন্য নির্দিষ্ট S/MIME কীগুলি ফেরত দিতে smimeInfo.get() পদ্ধতিটি ব্যবহার করুন৷ আপনি নিম্নলিখিত পরামিতি ব্যবহার করে লক্ষ্য উপনাম সনাক্ত করুন:
- ব্যবহারকারী আইডি
- ব্যবহারকারীর ইমেইল ঠিকানা. আপনি বর্তমানে প্রমাণীকৃত ব্যবহারকারী নির্দেশ করতে বিশেষ
me
ব্যবহার করতে পারেন। - sendAsEmail
- যে উপনামের জন্য আপনি কীগুলি পুনরুদ্ধার করছেন৷ এই ইমেল ঠিকানাটি এই উপনাম ব্যবহার করে পাঠানো মেলের জন্য "থেকে:" শিরোনামে প্রদর্শিত হয়৷
একটি S/MIME কী মুছুন
একটি উপনাম থেকে নির্দিষ্ট S/MIME কী মুছে ফেলতে smimeInfo.delete() পদ্ধতি ব্যবহার করুন। আপনি নিম্নলিখিত পরামিতি ব্যবহার করে লক্ষ্য উপনাম সনাক্ত করুন:
- ব্যবহারকারী আইডি
- ব্যবহারকারীর ইমেইল ঠিকানা. আপনি বর্তমানে প্রমাণীকৃত ব্যবহারকারী নির্দেশ করতে বিশেষ
me
ব্যবহার করতে পারেন। - sendAsEmail
- যে উপনামের জন্য আপনি কীগুলি পুনরুদ্ধার করছেন৷ এই ইমেল ঠিকানাটি এই উপনাম ব্যবহার করে পাঠানো মেলের জন্য "থেকে:" শিরোনামে প্রদর্শিত হয়৷
- আইডি
- SmimeInfo-এর জন্য অপরিবর্তনীয় আইডি।
একটি উপনামের জন্য ডিফল্ট S/MIME কী সেট করুন
smimeInfo.setDefault() পদ্ধতিটি ব্যবহার করুন নির্দিষ্ট S/MIME কীটিকে নির্দিষ্ট উপনামের জন্য ডিফল্ট হিসাবে চিহ্নিত করতে। আপনি নিম্নলিখিত পরামিতি ব্যবহার করে লক্ষ্য উপনাম সনাক্ত করুন:
- ব্যবহারকারী আইডি
- ব্যবহারকারীর ইমেইল ঠিকানা. আপনি বর্তমানে প্রমাণীকৃত ব্যবহারকারী নির্দেশ করতে বিশেষ
me
ব্যবহার করতে পারেন। - sendAsEmail
- যে উপনামের জন্য আপনি কীগুলি পুনরুদ্ধার করছেন৷ এই ইমেল ঠিকানাটি এই উপনাম ব্যবহার করে পাঠানো মেলের জন্য "থেকে:" শিরোনামে প্রদর্শিত হয়৷
- আইডি
- SmimeInfo-এর জন্য অপরিবর্তনীয় আইডি।
নমুনা কোড
নিম্নলিখিত কোড নমুনাগুলি একাধিক ব্যবহারকারীর সাথে একটি সংস্থার জন্য S/MIME শংসাপত্রগুলি পরিচালনা করতে API ব্যবহার করে প্রদর্শন করে৷
একটি S/MIME শংসাপত্রের জন্য একটি SmimeInfo সংস্থান তৈরি করা
নিম্নলিখিত কোড নমুনা ফাইল থেকে একটি শংসাপত্র পড়া, একটি base64url স্ট্রিং-এ এনকোডিং এবং smimeInfo
রিসোর্সের pkcs12
ক্ষেত্রে বরাদ্দ করা দেখায়:
জাভা
পাইথন
একটি S/MIME শংসাপত্র আপলোড করা হচ্ছে৷
একটি শংসাপত্র আপলোড করতে, smimeInfo.insert
কল করুন এবং অনুরোধের অংশে 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
জাভা
আপনি createSmimeInfo
ব্যবহার করতে পারেন এবং CSV ফাইলে উল্লেখিত শংসাপত্রগুলি আপলোড করতে আগে থেকে কলগুলি insertSmimeInfo
:
পাইথন
আপনি CSV ফাইলে উল্লেখিত শংসাপত্রগুলি আপলোড করতে আগে থেকে create_smime_info
এবং insert_smime_info
কলগুলি ব্যবহার করতে পারেন:
সার্টিফিকেট ব্যবস্থাপনা
এই উদাহরণটি smimeInfo
API-এর থেকে বেশ কয়েকটি কলকে একত্রিত করে দেখায় যে আপনি কীভাবে আপনার প্রতিষ্ঠানের শংসাপত্রগুলি পরিচালনা করতে পারেন। এটি ব্যবহারকারীর জন্য শংসাপত্রগুলি তালিকাভুক্ত করে এবং যদি ডিফল্ট শংসাপত্রের মেয়াদ শেষ হয়ে যায় বা সেট না থাকে তবে এটি নির্দিষ্ট ফাইলে পাওয়া শংসাপত্র আপলোড করে। তারপর এটি শংসাপত্রটি সেট করে যার মেয়াদ ভবিষ্যতে ডিফল্ট হিসাবে সবচেয়ে দূরে।
এটি একটি ফাংশন থেকে বলা হয় যা পূর্ববর্তী উদাহরণের মতো একটি CSV ফাইল প্রক্রিয়া করে।