يوضِّح هذا المستند كيفية استخدام شهادات البريد الإلكتروني S/MIME في Gmail API.
توفّر Gmail API إمكانية الوصول آليًا لإدارة شهادات البريد الإلكتروني S/MIME للمستخدمين في نطاق Google Workspace.
على المشرف تفعيل S/MIME المُستضاف لل نطاق لكي تعمل الشهادات.
يقدّم معيار S/MIME مواصفات لتشفير المفتاح العام وتوقيع بيانات MIME. عند ضبط شهادات S/MIME في حساب مستخدم، يستخدمها Gmail بالطرق التالية:
توقيع الرسائل الصادرة باستخدام شهادة المستخدم والمفتاح الخاص
فك تشفير الرسائل الواردة باستخدام المفتاح الخاص للمستخدم
تشفير الرسائل الصادرة باستخدام شهادة المستلِم والمفتاح العام
التحقّق من الرسائل الواردة باستخدام شهادة المُرسِل والمفتاح العام
يمكنك إنشاء شهادات S/MIME فردية وتحميلها باستخدام Gmail API. كل شهادة S/MIME مخصّصة لاسم مستعار معيّن لحساب بريد إلكتروني خاص بمستخدم. تشمل الأسماء المستعارة عنوان البريد الإلكتروني الأساسي وعناوين "الإرسال باسم" المخصّصة. تضع واجهة برمجة التطبيقات علامة على شهادة S/MIME واحدة باعتبارها الشهادة التلقائية لكل اسم مستعار.
لمزيد من المعلومات عن الأسماء المستعارة، يُرجى الاطّلاع على إدارة الأسماء المستعارة والتوقيعات باستخدام Gmail API.
السماح بالوصول إلى واجهة برمجة التطبيقات
للسماح بالوصول إلى Gmail API، استخدِم إحدى الطريقتَين التاليتَين:
استخدِم حساب خدمة مع تفويض السلطة على مستوى النطاق. للحصول على شرح لهذَين المصطلحَين، يُرجى الاطّلاع على مقالة لمحة عن المصادقة والترخيص. لتفعيل هذا الخيار، يُرجى الاطّلاع على مقالة إنشاء بيانات اعتماد الوصول.
استخدِم مسار OAuth 2.0 العادي الذي يتطلب موافقة المستخدم النهائي للحصول على رمز الدخول OAuth 2.0. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة لمحة عن المصادقة والترخيص.
لاستخدام هذا الخيار، على مشرف النطاق وضع علامة في مربّع الاختيار تفعيل تشفير S/MIME لإرسال الرسائل الإلكترونية واستلامها في "وحدة تحكّم المشرف في Google". لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تفعيل S/MIME المُستضاف في "وحدة تحكّم المشرف في Google".
نطاقات قائمة التحكّم بالوصول
تعتمد Gmail API على نطاقات قائمة التحكّم بالوصول نفسها التي تستخدمها طرق sendAs في Gmail:
gmail.settings.basic: هذا النطاق مطلوب لتعديل S/MIME الأساسي لـSendAs.gmail.settings.sharing: هذا النطاق مطلوب لتعديل S/MIME المخصّص لـ from.
ضبط مفاتيح S/MIME
يوفّر المصدر
settings.sendAs.smimeInfo
عدة طرق لإدارة شهادات S/MIME. ترتبط كل شهادة باسم مستعار واحد لـ "الإرسال باسم" خاص بمستخدم.
لتحديد الأسماء المستعارة لـ "الإرسال باسم" الخاصة بمستخدم، استخدِم الـ
settings.sendAs.list
طريقة في الـ
settings.sendAs
مصدر.
تحميل مفتاح S/MIME
استخدِم طريقة
settings.sendAs.smimeInfo.insert
في مورد settings.sendAs.smimeInfoلتحميل مفتاح S/MIME جديد
لاسم مستعار يخصّ مستخدمًا. حدِّد الاسم المستعار المستهدف باستخدام مَعلمات المسار التالية:
userId: عنوان البريد الإلكتروني للمستخدم استخدِم القيمة الخاصةmeللإشارة إلى المستخدم الذي تم التحقّق من هويته.sendAsEmail: الاسم المستعار الذي تحمِّل المفتاح له يظهر عنوان البريد الإلكتروني هذا في عنوانFrom:للرسائل الإلكترونية المُرسَلة باستخدام هذا الاسم المستعار.
يجب أن تكون شهادة S/MIME والمفتاح الخاص بتنسيق
pkcs12
، ويجب عدم ضبط أي حقول أخرى في الطلب. يحتوي حقل pkcs12 على كل من مفتاح S/MIME للمستخدم وسلسلة شهادات التوقيع. تُجري واجهة برمجة التطبيقات عمليات التحقّق العادية من هذا الحقل قبل قبوله، وتتحقّق من ما يلي:
- يتطابق الموضوع مع عنوان البريد الإلكتروني المحدّد.
- تكون تواريخ انتهاء الصلاحية صالحة.
- تكون هيئة إصدار الشهادات (CA) ضمن قائمة Google الموثوق بها.
- تتطابق الشهادات مع القيود الفنية في Gmail.
إذا كان المفتاح مشفّرًا، يجب أن تكون كلمة المرور في الـ
encryptedKeyPassword
حقل. تعرض استدعاءات طريقة settings.sendAs.smimeInfo.insert الناجحة
settings.sendAs.smimeInfo لمورد id المُستخدَم للإشارة إلى المفتاح في الـ
مستقبل.
عرض قائمة بمفاتيح S/MIME الخاصة بمستخدم
استخدِم طريقة
settings.sendAs.smimeInfo.list
في مورد settings.sendAs.smimeInfo لعرض قائمة بمفاتيح S/MIME
للمستخدم والاسم المستعار المحدّدَين. حدِّد الاسم المستعار المستهدف باستخدام مَعلمات المسار التالية:
userId: عنوان البريد الإلكتروني للمستخدم استخدِم القيمة الخاصةmeللإشارة إلى المستخدم الذي تم التحقّق من هويته.sendAsEmail: الاسم المستعار الذي تريد عرض المفاتيح له يظهر عنوان البريد الإلكتروني هذا في عنوانFrom:للرسائل الإلكترونية المُرسَلة باستخدام هذا الاسم المستعار.
استرداد مفاتيح S/MIME لاسم مستعار
استخدِم طريقة
settings.sendAs.smimeInfo.get
في مورد settings.sendAs.smimeInfoلعرض مفاتيح S/MIME
المحدّدة لعنوان بريد إلكتروني بديل محدّد لـ "الإرسال باسم" خاص بمستخدم. حدِّد الاسم المستعار المستهدف باستخدام مَعلمات المسار التالية:
userId: عنوان البريد الإلكتروني للمستخدم استخدِم القيمة الخاصةmeللإشارة إلى المستخدم الذي تم التحقّق من هويته.sendAsEmail: الاسم المستعار الذي تستردّ المفاتيح له يظهر عنوان البريد الإلكتروني هذا في عنوانFrom:للرسائل الإلكترونية المُرسَلة باستخدام هذا الاسم المستعار.
حذف مفتاح S/MIME
استخدِم طريقة
settings.sendAs.smimeInfo.delete
في مورد settings.sendAs.smimeInfo لحذف مفتاح
S/MIME المحدّد من اسم مستعار. حدِّد الاسم المستعار المستهدف باستخدام مَعلمات المسار التالية:
userId: عنوان البريد الإلكتروني للمستخدم استخدِم القيمة الخاصةmeللإشارة إلى المستخدم الذي تم التحقّق من هويته.sendAsEmail: الاسم المستعار الذي تحذف المفاتيح منه يظهر عنوان البريد الإلكتروني هذا في عنوانFrom:للرسائل الإلكترونية المُرسَلة باستخدام هذا الاسم المستعار.id: رقم التعريف الثابت لـsmimeInfo
ضبط مفتاح S/MIME التلقائي لاسم مستعار
استخدِم طريقة
settings.sendAs.smimeInfo.setDefault
في مورد settings.sendAs.smimeInfo لوضع علامة على مفتاح S/MIME
المحدّد باعتباره المفتاح التلقائي للاسم المستعار المحدّد. حدِّد الاسم المستعار المستهدف باستخدام مَعلمات المسار التالية:
userId: عنوان البريد الإلكتروني للمستخدم استخدِم القيمة الخاصةmeللإشارة إلى المستخدم الذي تم التحقّق من هويته.sendAsEmail: الاسم المستعار الذي تريد ضبط المفاتيح التلقائية له يظهر عنوان البريد الإلكتروني هذا في عنوانFrom:للرسائل الإلكترونية المُرسَلة باستخدام هذا الاسم المستعار.id: رقم التعريف الثابت لـsmimeInfo
عيّنات تعليمات برمجية
توضِّح عيّنات التعليمات البرمجية التالية كيفية استخدام Gmail API لإدارة شهادات S/MIME لمؤسسة تضم عدة مستخدمين:
إنشاء مصدر smimeInfo لشهادة S/MIME
توضِّح عينة التعليمات البرمجية هذه كيفية قراءة شهادة من ملف وتشفيرها إلى سلسلة
Base64URL وتخصيصها لحقل
pkcs12
في مصدر settings.sendAs.smimeInfo:
جافا
Python
تحميل شهادة S/MIME
لتحميل شهادة، استدعِ طريقة
settings.sendAs.smimeInfo.insert
وقدِّم مصدر settings.sendAs.smimeInfo في نص الـ
طلب:
جافا
Python
إدارة شهادات مستخدمين متعددين
توضِّح عيّنات التعليمات البرمجية هذه كيفية إدارة شهادات مستخدمين متعددين في مؤسسة في طلب واحد:
إدراج الشهادات من ملف 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 و
InsertSmimeInfo عيّنات التعليمات البرمجية
لتحميل الشهادات للمستخدمين المحدّدين في ملف CSV:
Python
يمكنك استخدام عيّنتَي التعليمات البرمجية
create_smime_info و
insert_smime_info
لتحميل الشهادات للمستخدمين المحدّدين في ملف CSV:
إدارة الشهادة
تجمع هذه العينة بين عدة طرق من مصدر settings.sendAs.smimeInfo لتوضيح كيفية إدارة الشهادات لمؤسستك. تعرض العينة الشهادات الخاصة بالمستخدم. إذا انتهت صلاحية الشهادة التلقائية أو لم يتم ضبطها، تحمِّل العينة الشهادة التي تم العثور عليها في الملف المحدّد. بعد ذلك، تضبط العينة الشهادة التي يكون تاريخ انتهاء صلاحيتها الأبعد في المستقبل كشهادة تلقائية.
تعالج هذه الدالة بعد ذلك ملف CSV، على غرار عينة التعليمات البرمجية السابقة إدراج الشهادات من ملف CSV.
جافا
Python
مواضيع ذات صلة
- إدارة الأسماء المستعارة والتوقيعات باستخدام Gmail API
- اختيار نطاقات Gmail API
- تفعيل S/MIME المُستضاف لتشفير الرسائل