S/MIME الجزء 2: تم التوقيع والختم والإرسال عبر SparkPost

Bird

31‏/12‏/2018

البريد الإلكتروني

1 min read

S/MIME الجزء 2: تم التوقيع والختم والإرسال عبر SparkPost

Bird

31‏/12‏/2018

البريد الإلكتروني

1 min read

S/MIME الجزء 2: تم التوقيع والختم والإرسال عبر SparkPost

في الجزء الأول، قمنا بجولة سريعة في S/MIME، حيث نظرنا في توقيع وتشفير تدفقات الرسائل الخاصة بنا عبر مجموعة من عملاء البريد. يمكن توقيع رسائل S/MIME (مما يثبت هوية المرسل)، تشفيرها (للحفاظ على سرية محتوى الرسالة)، أو كلاهما.

Diagram illustrating email security layers showing the relationship between S/MIME signing, S/MIME encryption, and TLS connections in the email delivery process from message source through email server to recipient.

في هذه القسط، سنقوم ب:

  • تثبيت بعض الأدوات البسيطة لواجهة الأوامر لتوقيع وتشفير البريد الإلكتروني

  • الحصول على مفتاح / شهادة المرسل لتوقيع البريد

  • إرسال رسالة موقعة عبر SparkPost، وننظر في الرسالة المستلمة

  • اختياريًا، الحصول على شهادة المستلم للتشفير

  • إرسال رسالة موقعة ومشفرة عبر SparkPost، والنظر في الرسالة المستلمة

  • تجربة أداة مستقلة مفيدة "mimeshow" لفحص داخليات ملف البريد الإلكتروني.

حسنًا – لنبدأ!

1. قم بتثبيت الأدوات

أدوات العرض موجودة في Github هنا، كاملة مع تعليمات التثبيت. قد تلاحظ شعار "النجاح في البناء" – Travis وpytest يتحققان تلقائيًا من حالة البناء. لاحظ أن هذه الأدوات ليست معتمدة رسميًا من قبل SparkPost، لكنني حاولت جعلها قوية وسهلة الاستخدام.

إذا كان لديك بعض المعرفة بـ Python وpip، يجب أن يكون التثبيت مألوفًا جدًا. Pipfile يهتم بالاعتماديات الخارجية تلقائيًا. بمجرد الانتهاء، يمكنك التحقق من تثبيت كل شيء عن طريق تشغيل

./sparkpostSMIME.py -h

يجب أن ترى نص المساعدة الودود. بعد ذلك، نحتاج إلى...

2. احصل على مفتاح المرسل / الشهادة للتوقيع

إذا كان لديك بالفعل ملف مفتاح لهوية الإرسال الخاصة بك، يمكنك الانتقال إلى الخطوة التالية. خلاف ذلك، ها هما خياران للاختيار من بينهما:

أ) مفتاح / شهادة اختبار ذاتي التوقيع (غير صالح خارجيًا)

إذا كنت تجري اختبارات فقط، يمكنك إنشاء شهادات ومفاتيح "ذاتي التوقيع" لعنوان بريد إلكتروني باستخدام أداة سطر الأوامر openssl على لينكس، باتباع إجراء مثل هذا الإجراء. في نهاية هذه العملية، سيكون لديك ملف smime.p12. قم بإعادة تسمية هذا الملف ليتوافق مع هوية الإرسال الخاصة بك، بما في ذلك رمز @، على سبيل المثال، alice@example.com.p12.

أو

ب) مفاتيح / شهادات صالحة خارجيًا

إذا كنت تريد الحصول على مفاتيح / شهادات صالحة خارجيًا تتيح لك التوقيع، فهناك قائمة مقدمي خدمات هنا. وجدت أن Comodo تعمل بشكل جيد (مجانية للاستخدام غير التجاري)، وهي أسهل من إجراء التوقيع الذاتي المذكور أعلاه. قم باتباع عملية التسجيل، واستلم بريد التحقق، وكن متأكدًا من فتح الرابط في Firefox. اذهب إلى تفضيلات Firefox / الخصوصية والأمان. انتقل إلى الشهادات / عرض الشهادات:

Firefox browser settings page showing certificate management options under the Privacy & Security section, with controls for how the browser handles personal certificate requests.


حدد شهادتك، واستخدم خيار "النسخ الاحتياطي" لحفظها كملف بتنسيق PKCS12 (أضف امتداد الملف .p12 إلى اسم ملفك) الذي يحمل المفتاح الخاص وسلسلة الشهادات العامة.

Certificate Manager window showing a list of software security device certificates from COMODO CA Limited, with details including certificate names and serial numbers


قدم كلمة مرور لتأمين ملف .p12:

Certificate backup password entry dialog with password fields and strength meter


إنشاء ملفات مفاتيح عامة (.crt) وخاصة (.pem) منفصلة

سواء كنت استخدمت أ) أو ب)، سيكون لديك الآن ملف .p12 لهوية المرسل الخاصة بك. هذه خطوة كبيرة نحو الأمام – احصل على قهوة الآن!

الآن نحتاج إلى إنشاء ملفات مفاتيح عامة وخاصة منفصلة مثل هذه - باستخدام عنوان بريدك الإلكتروني الخاص بدلاً من المثال. (ماك OSX ولينكس):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

ستحتاج إلى إدخال كلمة المرور التي قدمتها في السابق. لاحظ أن تلك الأقواس المائلة للخلف \ تُستخدم لتفادي رمز @ - وليس للفصل بين أسماء مسار دليل (هذا عبارة عن شرطة مائلة للأمام / على ماك OSX ولينكس).

إذا كنت تستخدم Windows، تتوفر تطبيقات openssl مثل تلك الموجودة في MINGW64 المدمجة في أدوات سطر الأوامر لـ Git، لكنني وجدتها تميل للتوقف فقط. ربما تجد من الأسرع والأسهل القيام بذلك على لينكس ثم نسخ ملفاتك. تأتي تلك الأدوات لـ Git لـ Windows مع عميل ssh جيد يمكنك استخدامه لتسجيل الدخول إلى جهاز لينكس، مثل مثال Amazon EC2.


2.1 توقيع رسالة

هناك بالفعل مفتاح/شهادة وهمية وملف مصدر بريد إلكتروني في دليل الاختبارات لـ alice@example.com، بحيث يمكنك الحصول على بعض المخرجات حتى قبل أن تكون لديك مفاتيحك الخاصة. فقط اكتب التالي:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

وستحصل على:

To: Bob <bob@example.com> 
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

لا يمكنك بالفعل إرسال رسائل بريد إلكتروني من example.com عبر SparkPost إلا إذا كنت تمتلك هذا النطاق، لذا فالخطوة التالية هي استخدام مفتاحك الخاص وإرسال رسالة موقعة من نطاقك الخاص.

إذا كان لديك بالفعل ملف مفتاح لهوية الإرسال الخاصة بك، يمكنك الانتقال إلى الخطوة التالية. خلاف ذلك، ها هما خياران للاختيار من بينهما:

أ) مفتاح / شهادة اختبار ذاتي التوقيع (غير صالح خارجيًا)

إذا كنت تجري اختبارات فقط، يمكنك إنشاء شهادات ومفاتيح "ذاتي التوقيع" لعنوان بريد إلكتروني باستخدام أداة سطر الأوامر openssl على لينكس، باتباع إجراء مثل هذا الإجراء. في نهاية هذه العملية، سيكون لديك ملف smime.p12. قم بإعادة تسمية هذا الملف ليتوافق مع هوية الإرسال الخاصة بك، بما في ذلك رمز @، على سبيل المثال، alice@example.com.p12.

أو

ب) مفاتيح / شهادات صالحة خارجيًا

إذا كنت تريد الحصول على مفاتيح / شهادات صالحة خارجيًا تتيح لك التوقيع، فهناك قائمة مقدمي خدمات هنا. وجدت أن Comodo تعمل بشكل جيد (مجانية للاستخدام غير التجاري)، وهي أسهل من إجراء التوقيع الذاتي المذكور أعلاه. قم باتباع عملية التسجيل، واستلم بريد التحقق، وكن متأكدًا من فتح الرابط في Firefox. اذهب إلى تفضيلات Firefox / الخصوصية والأمان. انتقل إلى الشهادات / عرض الشهادات:

Firefox browser settings page showing certificate management options under the Privacy & Security section, with controls for how the browser handles personal certificate requests.


حدد شهادتك، واستخدم خيار "النسخ الاحتياطي" لحفظها كملف بتنسيق PKCS12 (أضف امتداد الملف .p12 إلى اسم ملفك) الذي يحمل المفتاح الخاص وسلسلة الشهادات العامة.

Certificate Manager window showing a list of software security device certificates from COMODO CA Limited, with details including certificate names and serial numbers


قدم كلمة مرور لتأمين ملف .p12:

Certificate backup password entry dialog with password fields and strength meter


إنشاء ملفات مفاتيح عامة (.crt) وخاصة (.pem) منفصلة

سواء كنت استخدمت أ) أو ب)، سيكون لديك الآن ملف .p12 لهوية المرسل الخاصة بك. هذه خطوة كبيرة نحو الأمام – احصل على قهوة الآن!

الآن نحتاج إلى إنشاء ملفات مفاتيح عامة وخاصة منفصلة مثل هذه - باستخدام عنوان بريدك الإلكتروني الخاص بدلاً من المثال. (ماك OSX ولينكس):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

ستحتاج إلى إدخال كلمة المرور التي قدمتها في السابق. لاحظ أن تلك الأقواس المائلة للخلف \ تُستخدم لتفادي رمز @ - وليس للفصل بين أسماء مسار دليل (هذا عبارة عن شرطة مائلة للأمام / على ماك OSX ولينكس).

إذا كنت تستخدم Windows، تتوفر تطبيقات openssl مثل تلك الموجودة في MINGW64 المدمجة في أدوات سطر الأوامر لـ Git، لكنني وجدتها تميل للتوقف فقط. ربما تجد من الأسرع والأسهل القيام بذلك على لينكس ثم نسخ ملفاتك. تأتي تلك الأدوات لـ Git لـ Windows مع عميل ssh جيد يمكنك استخدامه لتسجيل الدخول إلى جهاز لينكس، مثل مثال Amazon EC2.


2.1 توقيع رسالة

هناك بالفعل مفتاح/شهادة وهمية وملف مصدر بريد إلكتروني في دليل الاختبارات لـ alice@example.com، بحيث يمكنك الحصول على بعض المخرجات حتى قبل أن تكون لديك مفاتيحك الخاصة. فقط اكتب التالي:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

وستحصل على:

To: Bob <bob@example.com> 
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

لا يمكنك بالفعل إرسال رسائل بريد إلكتروني من example.com عبر SparkPost إلا إذا كنت تمتلك هذا النطاق، لذا فالخطوة التالية هي استخدام مفتاحك الخاص وإرسال رسالة موقعة من نطاقك الخاص.

إذا كان لديك بالفعل ملف مفتاح لهوية الإرسال الخاصة بك، يمكنك الانتقال إلى الخطوة التالية. خلاف ذلك، ها هما خياران للاختيار من بينهما:

أ) مفتاح / شهادة اختبار ذاتي التوقيع (غير صالح خارجيًا)

إذا كنت تجري اختبارات فقط، يمكنك إنشاء شهادات ومفاتيح "ذاتي التوقيع" لعنوان بريد إلكتروني باستخدام أداة سطر الأوامر openssl على لينكس، باتباع إجراء مثل هذا الإجراء. في نهاية هذه العملية، سيكون لديك ملف smime.p12. قم بإعادة تسمية هذا الملف ليتوافق مع هوية الإرسال الخاصة بك، بما في ذلك رمز @، على سبيل المثال، alice@example.com.p12.

أو

ب) مفاتيح / شهادات صالحة خارجيًا

إذا كنت تريد الحصول على مفاتيح / شهادات صالحة خارجيًا تتيح لك التوقيع، فهناك قائمة مقدمي خدمات هنا. وجدت أن Comodo تعمل بشكل جيد (مجانية للاستخدام غير التجاري)، وهي أسهل من إجراء التوقيع الذاتي المذكور أعلاه. قم باتباع عملية التسجيل، واستلم بريد التحقق، وكن متأكدًا من فتح الرابط في Firefox. اذهب إلى تفضيلات Firefox / الخصوصية والأمان. انتقل إلى الشهادات / عرض الشهادات:

Firefox browser settings page showing certificate management options under the Privacy & Security section, with controls for how the browser handles personal certificate requests.


حدد شهادتك، واستخدم خيار "النسخ الاحتياطي" لحفظها كملف بتنسيق PKCS12 (أضف امتداد الملف .p12 إلى اسم ملفك) الذي يحمل المفتاح الخاص وسلسلة الشهادات العامة.

Certificate Manager window showing a list of software security device certificates from COMODO CA Limited, with details including certificate names and serial numbers


قدم كلمة مرور لتأمين ملف .p12:

Certificate backup password entry dialog with password fields and strength meter


إنشاء ملفات مفاتيح عامة (.crt) وخاصة (.pem) منفصلة

سواء كنت استخدمت أ) أو ب)، سيكون لديك الآن ملف .p12 لهوية المرسل الخاصة بك. هذه خطوة كبيرة نحو الأمام – احصل على قهوة الآن!

الآن نحتاج إلى إنشاء ملفات مفاتيح عامة وخاصة منفصلة مثل هذه - باستخدام عنوان بريدك الإلكتروني الخاص بدلاً من المثال. (ماك OSX ولينكس):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

ستحتاج إلى إدخال كلمة المرور التي قدمتها في السابق. لاحظ أن تلك الأقواس المائلة للخلف \ تُستخدم لتفادي رمز @ - وليس للفصل بين أسماء مسار دليل (هذا عبارة عن شرطة مائلة للأمام / على ماك OSX ولينكس).

إذا كنت تستخدم Windows، تتوفر تطبيقات openssl مثل تلك الموجودة في MINGW64 المدمجة في أدوات سطر الأوامر لـ Git، لكنني وجدتها تميل للتوقف فقط. ربما تجد من الأسرع والأسهل القيام بذلك على لينكس ثم نسخ ملفاتك. تأتي تلك الأدوات لـ Git لـ Windows مع عميل ssh جيد يمكنك استخدامه لتسجيل الدخول إلى جهاز لينكس، مثل مثال Amazon EC2.


2.1 توقيع رسالة

هناك بالفعل مفتاح/شهادة وهمية وملف مصدر بريد إلكتروني في دليل الاختبارات لـ alice@example.com، بحيث يمكنك الحصول على بعض المخرجات حتى قبل أن تكون لديك مفاتيحك الخاصة. فقط اكتب التالي:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

وستحصل على:

To: Bob <bob@example.com> 
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

لا يمكنك بالفعل إرسال رسائل بريد إلكتروني من example.com عبر SparkPost إلا إذا كنت تمتلك هذا النطاق، لذا فالخطوة التالية هي استخدام مفتاحك الخاص وإرسال رسالة موقعة من نطاقك الخاص.

3. أرسل رسالة موقعة عبر SparkPost

الآن دعونا نستخدم نطاق إرسال حقيقي، تم إعداده وفقًا لدليل المستخدم الجديد لسبارك بوست New User Guide. لدينا شهادة المرسل وملفات المفاتيح في الدليل الحالي:

steve@thetucks.com.crt steve@thetucks.com.pem

يتم تضمين الملف tests/declaration.eml في المشروع. إنه مجرد ملف نصي، بحيث يمكنك تخصيص عنوان From: ليناسب نطاق الإرسال الخاص بك وعنوان To: ليناسب المستلم التجريبي الخاص بك. بداية الملف تبدو هكذا:

To: Bob <bob.lumreeker@gmail.com> From: Steve <steve@thetucks.com> Subject: Here is our declaration MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB عندما يصبح من الضروري في مسار الأحداث البشرية ...

قم بتعيين مفتاح API الخاص بك:

export SPARKPOST_API_KEY=<<Put your API key here>>

أرسل البريد الإلكتروني:

./sparkpostSMIME.py tests/declaration.eml --sign --send_api

سوف ترى:

تم فتح الاتصال ب https://api.sparkpost.com/api/v1 إرسال tests/declaration.eml من: Steve <steve@thetucks.com> إلى: Bob  <bob.lumreeker@gmail.com> حسناً - في 1.15 ثانية

بعد لحظة أو نحو ذلك، يصل البريد الإلكتروني إلى صندوق بريد Bob. يعرضه ثندر بيرد مع نقطة حمراء على الظرف، مما يشير إلى توقيع مرسل صالح.

Thunderbird email inbox showing an email with a subject 'Here is our declaration'

نجاح! انتهي من تناول قهوتك، لقد استحققتها. إذا كنت تواجه مشكلة، تحقق من عنوان From: في ملف البريد الإلكتروني يطابق اسم ملفات .crt و .pem الخاصة بك.

4. تشفير الرسائل

لتشفير رسالة، تحتاج إلى المفتاح العام للمستلم بصيغة الشهادة. هذا هو ملف نصي يبدو هكذا:

سمات الحزمة   friendlyName: s COMODO CA Limited ID #2   localKeyID: 32 84 AB 9C 56 5C 80 C6 89 4D 40 46 DD D4 7C 71 E8 CD ED C1 subject=/emailAddress=bob.lumreeker@gmail.com issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Client Authentication and Secure Email CA -----BEGIN CERTIFICATE----- يبدو وكأنه أحرف عشوائية هنا -----END CERTIFICATE-----

هناك شهادة مستلم وهمي لbob@example.com في دليل الاختبارات، لذا يمكنك التدرب معها قبل أن تحصل على شهادة حقيقية:

cd tests ../sparkpostSMIME.py example_email1.eml --sign --encrypt

سترى:

To: Bob <bob@example.com>
From: Alice <alice@example.com> 
Subject: A message MIME-Version: 1.0 
Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename=smime.p7m MIIRwQYJKoZIhvcNAQcDoIIRsjCCEa4CAQAxggKlMIICoQIBADCBijCBhDELMAkG :

ستلاحظ أن طول الإخراج أطول بكثير منه في رسالة مشفرة لأنه يحمل الكثير من المعلومات الإضافية بالإضافة إلى الرسالة المشفرة نفسها.


4.1 إرسال رسالة مشفرة وموقعة عبر SparkPost

لنرسل رسالة مشفرة إلى عنوان بريد إلكتروني حقيقي. يمكنك اتباع نفس العملية كما سبق (توقيع ذاتي أو مزود مثل Comodo) للحصول على مفتاح عام / شهادة لعناوين المستلمين الخاصة بك. تحتاج فقط إلى ملف .crt - المستلم لا يحتاج أبداً لإعطائك مفتاحه الخاص (.p12 و .pem الملفات).

لدي الملف bob.lumreeker@gmail.com.crt للمستلم المقصود – مطابق لعنوان From في ملفي.

هنا الأمر للإرسال:

./sparkpostSMIME.py tests/declaration.eml --sign --encrypt --send_api

أرى:

تم فتح اتصال مع https://api.sparkpost.com/api/v1 إرسال tests/declaration.eml من: Steve <steve@thetucks.com> إلى: Bob <bob.lumreeker@gmail.com> OK - في 1.168 ثانية

تظهر الرسالة في Thunderbird مع أيقونة التوقيع "النقطة الحمراء" وأيقونة التشفير "القفل".

Thunderbird email view with signature and encryption icons

يمكنك إرسال بريد إلكتروني معقد معتمد على HTML يحتوي على روابط وصور بنفس السهولة، مثل الذي شوهد في الجزء 1. بعض العملاء مثل Thunderbird يطلبون إذنًا لعرض الروابط والصور الخارجية داخل رسائل S/MIME المشفرة، ولكن الرسائل الموقعة فقط تعرض بشكل جيد في العملاء بما في ذلك Thunderbird و Gmail:

Avocado marketing email with guacamole in a blue bowl and product order sectionsGmail interface showing an HTML email with guacamole image and Avocado marketing content

لاحظ أن القائمة المنسدلة تعرض "عنوان البريد الإلكتروني تم التحقق منه".

أفكار أخرى وأشياء يجب الانتباه إليها

تأخذ هذه الأداة نهجًا بسيطًا للغاية في جمع المفاتيح الضرورية - فهي تقوم فقط بالبحث عن الملفات المسماة في الدليل الحالي. يمكن بسهولة إضافة ترتيبات أكثر تعقيدًا، مثل حفظ جميع المفاتيح في قاعدة بيانات، لكنني أردت أن يكون الكود بسيطًا قدر الإمكان.

يمكنك تضمين مستلمين آخرين باستخدام Cc: و Bcc: وسيتم تسليمهم؛ قد يكون هذا مفيدًا لأغراض الأرشفة. الرسائل الموقعة يتم استلامها ويمكن عرضها بواسطة مستلمين آخرين كاملة مع التوقيع. تقوم الأداة بإزالة ترويسة Bcc: من الرسالة التي يتم تسليمها (مثلما يفعل عميل البريد الإلكتروني المكتبي).

لضمان مرور الرسائل من خلال SparkPost دون تغيير (مما قد يفسد التوقيع)، تقوم الأداة بتعيين خيارات API للبريد الإلكتروني "التعاملات"، مع تعطيل تتبع الفتحات والنقرات.

إذا كنت تستخدم التشفير، ضع في اعتبارك أن الأداة تلتقط عنوان To: الوحيد لذلك. يمكن للمستلمين الآخرين فك تشفير نص الرسالة فقط إذا كان لديهم المفتاح الخاص بالمستلم To:. إذا كنت تستخدم المستلمين الثانويين فقط كسجل للتسليمات التي تمت، على سبيل المثال، فقد يكون ذلك مناسبًا على أي حال.

موقعة، مختومة، تم تسليمها... أنا لك

هذا هو ملخصنا السريع حول كيفية توقيع، ختم وإرسال رسائل S/MIME عبر SparkPost. تذكير سريع: يوجد مشروع العرض التجريبي على Github هنا، لقد حاولت جعله سهل التثبيت والاستخدام.

ميزة إضافية: عرض أجزاء MIME باستخدام "mimeshow"

الملفات المتعددة الأجزاء بتنسيق RFC822 MIME معقدة للغاية للقراءة بالنسبة للبشر. يتضمن المشروع أداة مستقلة لتسهيل هذا الأمر، تُسمى mimeshow.

هذه الأداة تأخذ أي ملفات بريد إلكتروني لديك (ليس فقط الخاصة بـ S/MIME) وتظهر الهيكل الداخلي. إليك مثال:

./mimeshow.py testcases/img_and_attachment.eml

سترى:

To Bob <bob.lumreeker@gmail.com>
From Steve <steve@thetucks.com> 
Subject Testing attachments etc 
MIME-Version 1.0
Content-Type multipart/mixed; boundary="------------7D48652042860D0098C65210"
Content-Language en-GB
Content-Type multipart/alternative; boundary="------------58C0BF87598336550D70EB95" 
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Content-Transfer-Encoding quoted-printable 
Content-Type text/html; charset="utf-8"
Content-Type application/pdf; name="sparkpost-datasheet-tam-technical-account-management.pdf" 
Content-Transfer-Encoding base64
Content-Disposition attachment; filename="sparkpost-datasheet-tam-technical-account-management.pdf"

يمكنك أيضًا استخدامها كعامل تصفية لتقديم ملخص يمكن قراءته من قبل البشر لإخراج sparkpostSMIME:

./sparkpostSMIME.py tests/declaration.eml --sign --encrypt | ./mimeshow.py


سترى:

To Bob <bob.lumreeker@gmail.com>  
From Steve <steve@thetucks.com>
Subject Here is our declaration 
Content-Language en-GB
MIME-Version 1.0
Content-Type application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m
Content-Transfer-Encoding base64
Content-Disposition attachment; filename=smime.p7m

أخيرًا...

لنلخص – لقد قمنا بتثبيت بعض الأدوات البسيطة لسطر الأوامر لتوقيع وتشفير البريد الإلكتروني (مستودع Github موجود هنا، مكتمل بتعليمات التثبيت).

لقد حصلنا على مفتاح / شهادة المرسل للتوقيع، وأرسلنا رسالة موقعة عبر SparkPost. حصلنا على شهادة المستلم للتشفير، ثم أرسلنا رسالة موقعة ومشفرة عبر SparkPost.

أخيرًا، جربنا الأداة المستقلة المفيدة "mimeshow" لعرض محتويات ملفات البريد الإلكتروني.

هذا كل شيء في الوقت الحالي! في الجزء التالي، سنوضح لك كيفية توسيع قدرات S/MIME إلى منصات البريد الإلكتروني الآمنة المحلية مثل PowerMTA وMomentum. أراكم قريبًا!

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

R

وصول

G

نمو

م

إدارة

A

أتمتة

النشرة الإخبارية

ابقَ على اطلاع مع Bird من خلال التحديثات الأسبوعية إلى بريدك الوارد.