المنتج

حلول

الموارد

شركة

المنتج

حلول

الموارد

شركة

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 على Linux، باتباع إجراء مثل هذا الإجراء. في نهاية هذه العملية، سيكون لديك ملف 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 لهويتك المرسلة. هذا خطوة كبيرة إلى الأمام - اجلب لنفسك كوباً من القهوة الآن!

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

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

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

إذا كنت تستخدم Windows، هناك تطبيقات openssl متاحة مثل MINGW64 المضمّن في أدوات سطر الأوامر الخاصة بـ Git، لكني وجدت أنه يميل إلى التوقف. ربما تجد الأمر أسهل وأسرع للقيام به على Linux ثم نسخ ملفاتك. تلك الأدوات الخاصة بـ Git على Windows تأتي مع عميل ssh لطيف يمكنك استخدامه لتسجيل الدخول إلى جهاز Linux، مثل حالة 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 على Linux، باتباع إجراء مثل هذا الإجراء. في نهاية هذه العملية، سيكون لديك ملف 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 لهويتك المرسلة. هذا خطوة كبيرة إلى الأمام - اجلب لنفسك كوباً من القهوة الآن!

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

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

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

إذا كنت تستخدم Windows، هناك تطبيقات openssl متاحة مثل MINGW64 المضمّن في أدوات سطر الأوامر الخاصة بـ Git، لكني وجدت أنه يميل إلى التوقف. ربما تجد الأمر أسهل وأسرع للقيام به على Linux ثم نسخ ملفاتك. تلك الأدوات الخاصة بـ Git على Windows تأتي مع عميل ssh لطيف يمكنك استخدامه لتسجيل الدخول إلى جهاز Linux، مثل حالة 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 على Linux، باتباع إجراء مثل هذا الإجراء. في نهاية هذه العملية، سيكون لديك ملف 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 لهويتك المرسلة. هذا خطوة كبيرة إلى الأمام - اجلب لنفسك كوباً من القهوة الآن!

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

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

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

إذا كنت تستخدم Windows، هناك تطبيقات openssl متاحة مثل MINGW64 المضمّن في أدوات سطر الأوامر الخاصة بـ Git، لكني وجدت أنه يميل إلى التوقف. ربما تجد الأمر أسهل وأسرع للقيام به على Linux ثم نسخ ملفاتك. تلك الأدوات الخاصة بـ Git على Windows تأتي مع عميل ssh لطيف يمكنك استخدامه لتسجيل الدخول إلى جهاز Linux، مثل حالة 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

الآن دعونا نستخدم نطاق إرسال حقيقي، تم إعداده وفقًا لـ دليل المستخدم الجديد من SparkPost. لدينا ملفات شهادة المرسل والمفتاح في الدليل الحالي:

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: ها هي إعلاننا 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 From: Steve <steve@thetucks.com> To: Bob  <bob.lumreeker@gmail.com> OK - في 1.15 ثانية

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

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

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

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

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

Bag Attributes   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 لمستلمي المستهدف – مطابق لعنوان "من" المذكور في ملفي.

إليك الأمر للإرسال:

./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> حسنًا - في 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"

الملفات متعددة الأجزاء بتنسيق MIME RFC822 معقدة للغاية للقراءة بالنسبة للبشر. يتضمن المشروع أداة مستقلة لجعل ذلك أسهل، تسمى 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. نراكم قريباً!

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

المنتج

حلول

الموارد

شركة

إعدادات الخصوصية

اجتماعي

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

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

اشتراك

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

المنتج

حلول

الموارد

شركة

إعدادات الخصوصية

اجتماعي

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

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

اشتراك