21 أمثلة على OpenSSL لمساعدتك في العالم الحقيقي

إنشاء وإدارة وتحويل شهادات SSL باستخدام OpenSSL

يعد OpenSSL أحد أكثر الأوامر شيوعًا في SSL لإنشاء شهادات SSL وتحويلها وإدارتها.

سيكون هناك العديد من المواقف التي يتعين عليك فيها التعامل مع OpenSSL بطرق مختلفة ، وهنا قمت بإدراجها لك على أنها ورقة غش سهلة الاستخدام.

في هذه المقالة ، سأتحدث عن أوامر OpenSSL المستخدمة بشكل متكرر لمساعدتك في العالم الحقيقي.

بعض الاختصارات المتعلقة بالشهادات.

  • SSL – طبقة المقابس الآمنة
  • CSR – طلب توقيع الشهادة
  • TLS – أمان طبقة النقل
  • PEM – البريد المعزز للخصوصية
  • DER – قواعد التشفير المميزة
  • SHA – خوارزمية تجزئة آمنة
  • PKCS – معايير تشفير المفتاح العام

ملحوظة: دورة عملية SSL / TLS سيكون مفيدًا إذا لم تكن على دراية بالشروط.

قم بإنشاء مفتاح خاص جديد وطلب توقيع الشهادة

openssl req -out admingate.org.csr -newkey rsa:2048 -nodes -keyout admingate.org.key

سيقوم الأمر أعلاه بإنشاء ملف CSR وملف مفتاح RSA 2048 بت. إذا كنت تنوي استخدام هذه الشهادة في Apache أو Nginx ، فأنت بحاجة إلى إرسال ملف CSR هذا إلى جهة إصدار الشهادة ، وسوف يمنحك شهادة موقعة في الغالب بتنسيق der أو pem الذي تحتاج إلى تكوينه في خادم الويب Apache أو Nginx .

  كسب المزيد من العملاء من خلال برامج التسويق والمبيعات

قم بإنشاء شهادة موقعة ذاتيًا

openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

سينشئ الأمر أعلاه شهادة موقعة ذاتيًا وملف مفتاح مع 2048 بت RSA. لقد قمت أيضًا بتضمين sha256 لأنه يعتبر الأكثر أمانًا في الوقت الحالي.

نصيحة: بشكل افتراضي ، ستنشئ شهادة موقعة ذاتيًا صالحة لمدة شهر واحد فقط ، لذا قد تفكر في تحديد معلمة -days لتمديد الصلاحية.

على سبيل المثال: أن يكون التوقيع الذاتي ساري المفعول لمدة عامين.

openssl req -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

تحقق من ملف CSR

openssl req -noout -text -in admingate.org.csr

التحقق ضروري للتأكد من أنك ترسل المسؤولية الاجتماعية للشركات إلى سلطة المصدر مع التفاصيل المطلوبة.

قم بإنشاء مفتاح خاص RSA

openssl genrsa -out private.key 2048

إذا كنت تحتاج فقط إلى إنشاء مفتاح خاص RSA ، فيمكنك استخدام الأمر أعلاه. لقد قمت بتضمين 2048 لتشفير أقوى.

إزالة عبارة المرور من المفتاح

openssl rsa -in certkey.key -out nopassphrase.key

إذا كنت تستخدم عبارة المرور في ملف المفتاح وتستخدم Apache ، في كل مرة تبدأ فيها ، يجب عليك إدخال كلمة المرور. إذا كنت منزعجًا من إدخال كلمة مرور ، فيمكنك استخدام opensl rsa -in admingate.org.key أعلاه – تحقق لإزالة مفتاح عبارة المرور من مفتاح موجود.

تحقق من المفتاح الخاص

openssl rsa -in certkey.key –check

إذا كنت تشك في ملف المفتاح الخاص بك ، فيمكنك استخدام الأمر أعلاه للتحقق.

تحقق من ملف الشهادة

openssl x509 -in certfile.pem -text –noout

إذا كنت ترغب في التحقق من صحة بيانات الشهادة مثل CN و OU وما إلى ذلك ، فيمكنك استخدام الأمر أعلاه الذي سيعطيك تفاصيل الشهادة.

تحقق من المرجع الموقّع على الشهادة

openssl x509 -in certfile.pem -noout -issuer -issuer_hash

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

تحقق من قيمة التجزئة لشهادة

openssl x509 -noout -hash -in bestflare.pem

تحويل DER إلى تنسيق PEM

openssl x509 –inform der –in sslcert.der –out sslcert.pem

عادةً ، ستمنحك سلطة التصديق SSL cert بتنسيق .der ، وإذا كنت بحاجة إلى استخدامها في تنسيق apache أو .pem ، فسيساعدك الأمر أعلاه.

  كيفية إعادة تشغيل Fitbit Versa 2

تحويل PEM إلى تنسيق DER

openssl x509 –outform der –in sslcert.pem –out sslcert.der

في حال احتجت إلى تغيير تنسيق .pem إلى .der

تحويل الشهادة والمفتاح الخاص إلى تنسيق PKCS # 12

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

إذا كنت بحاجة إلى استخدام شهادة مع تطبيق java أو مع أي شخص آخر يقبل تنسيق PKCS # 12 فقط ، فيمكنك استخدام الأمر أعلاه ، والذي سينشئ ملف pfx واحدًا يحتوي على شهادة وملف مفتاح.

نصيحة: يمكنك أيضًا تضمين شهادة السلسلة عن طريق تمرير –chain على النحو التالي.

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem -chain cacert.pem

قم بإنشاء CSR باستخدام مفتاح خاص موجود

openssl req –out certificate.csr –key existing.key –new

إذا كنت لا ترغب في إنشاء مفتاح خاص جديد بدلاً من استخدام مفتاح موجود ، يمكنك استخدام الأمر أعلاه.

تحقق من محتويات شهادة تنسيق PKCS12

openssl pkcs12 –info –nodes –in cert.p12

PKCS12 هو تنسيق ثنائي ، لذا لن تتمكن من عرض المحتوى في المفكرة أو أي محرر آخر. سيساعدك الأمر أعلاه في رؤية محتويات ملف PKCS12.

قم بتحويل تنسيق PKCS12 إلى شهادة PEM

openssl pkcs12 –in cert.p12 –out cert.pem

إذا كنت ترغب في استخدام تنسيق pkcs12 الحالي مع Apache أو بتنسيق pem فقط ، فسيكون هذا مفيدًا.

اختبار شهادة SSL لعنوان URL معين

openssl s_client -connect yoururl.com:443 –showcerts

أستخدم هذا كثيرًا للتحقق من صحة شهادة SSL لعنوان URL معين من الخادم. هذا مفيد جدًا للتحقق من صحة تفاصيل البروتوكول والتشفير والشهادة.

اكتشف إصدار OpenSSL

openssl version

إذا كنت مسؤولاً عن ضمان أمان OpenSSL ، فمن المحتمل أن يكون أحد الأشياء الأولى التي يجب عليك القيام بها هو التحقق من الإصدار.

تحقق من تاريخ انتهاء صلاحية شهادة ملف PEM

openssl x509 -noout -in certificate.pem -dates

مفيد إذا كنت تخطط لوضع بعض المراقبة للتحقق من الصلاحية. سيُظهر لك تاريخًا بصيغة notBefore و notAfter. notAfter هي واحدة يجب عليك التحقق منها لتأكيد ما إذا كانت الشهادة منتهية الصلاحية أو لا تزال صالحة.

  مقدمة إلى SAFe للمبتدئين

السابق:

[[email protected] opt]# openssl x509 -noout -in bestflare.pem -dates
notBefore=Jul 4 14:02:45 2015 GMT
notAfter=Aug 4 09:46:42 2015 GMT
[[email protected] opt]#

تحقق من تاريخ انتهاء صلاحية الشهادة الخاص بـ SSL URL

openssl s_client -connect secureurl.com:443 2>/dev/null | openssl x509 -noout –enddate

مفيد آخر إذا كنت تخطط لمراقبة تاريخ انتهاء صلاحية شهادة SSL عن بُعد أو عنوان URL معين.

السابق:

[[email protected] opt]# openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate

notAfter=Dec 8 00:00:00 2015 GMT

تحقق من قبول SSL V2 أو V3 على URL

للتحقق من SSL V2

openssl s_client -connect secureurl.com:443 -ssl2

للتحقق من SSL V3

openssl s_client -connect secureurl.com:443 –ssl3

للتحقق من TLS 1.0

openssl s_client -connect secureurl.com:443 –tls1

للتحقق من TLS 1.1

openssl s_client -connect secureurl.com:443 –tls1_1

للتحقق من TLS 1.2

openssl s_client -connect secureurl.com:443 –tls1_2

إذا كنت تقوم بتأمين خادم ويب وتحتاج إلى التحقق من تمكين SSL V2 / V3 أم لا ، فيمكنك استخدام الأمر أعلاه. إذا تم التنشيط ، فستحصل على “CONNECTED” وإلا “فشل المصافحة.”

تحقق من قبول الشفرة المعينة على URL

openssl s_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect secureurl:443

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

بالطبع ، سيتعين عليك تغيير التشفير وعنوان URL ، اللذين تريد اختبارهما. إذا تم قبول الشفرة المذكورة ، فستحصل على “CONNECTED” وإلا “فشل المصافحة.”

آمل أن تساعدك الأوامر المذكورة أعلاه في معرفة المزيد عن OpenSSL لإدارة شهادات SSL لموقعك على الويب.