• 0
SalehRam

أحتاج إلى إنشاء اتصال آمن SSL بين سيرفر و عميل على لينوكس هل من مصادر؟

سؤال

السلام عليكم

أقوم بعمل مشروع شخصي باستخدام C++ على لينوكس

اﻵن وصلت لحائط اسمنت و هو أني أحتاج استخدام اتصال آمن بين سيرفر و عميل لدي قمت بإنشائهما

المشكلة أني اليوم في العمل 8 ساعات أبحث عن نقطة بداية لكن لم أجد شيء جيد...

سأضع الذي وصلت له لكن أيضا أريد من أي شخص هنا لديه خبرة أو لديه خلفية في التعامل مع هذا المجال أن يفيدني بروابط أو أسماء كتب أستطيع من خلالها القراءة و فهم موضوع SSL مع C++ و لينوكس

ﻻ أريد أمثلة جاهزة، وجدت الكثير منها لكن أريد أن أفهم الموضوع ﻷن فهم الموضوع لدي أهم بكثير جدا جدا من إنجازه

هذا ما وصلت له من الروابط:

http://pocoproject.org/index.html

http://www.rtfm.com/openssl-examples/

http://www.ibm.com/developerworks/linux/library/l-openssl/index.html

http://etutorials.org/Programming/secure+programming/Chapter+9.+Networking/9.1+Creating+an+SSL+Client/

http://etutorials.org/Programming/secure+programming/Chapter+10.+Public+Key+Infrastructure/10.1+Understanding+Public+Key+Infrastructure+PKI/

http://etutorials.org/Programming/secure+programming/Chapter+10.+Public+Key+Infrastructure/10.4+Understanding+X.509+Certificate+Verification+Methodology/

http://etutorials.org/Programming/secure+programming/Chapter+10.+Public+Key+Infrastructure/10.5+Performing+X.509+Certificate+Verification+with+OpenSSL/

http://etutorials.org/Programming/secure+programming/Chapter+10.+Public+Key+Infrastructure/10.9+Using+a+Whitelist+to+Verify+Certificates/

http://etutorials.org/Programming/secure+programming/Chapter+10.+Public+Key+Infrastructure/10.10+Obtaining+Certificate+Revocation+Lists+with+OpenSSL/

http://etutorials.org/Programming/secure+programming/Chapter+10.+Public+Key+Infrastructure/10.11+Obtaining+CRLs+with+CryptoAPI/

ما أريد أنني أريد أن أقوم بعمل اتصال آمن بين سيرفر و عميل (ليس اتصال HTTPS)

لكن كل الذي وجدته لم أجد فيه ما أريد

شكرا لكم و بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

أنا مش قادر أحدد النقطة اللى عندك فيها مشكلة برضه, هل المشكلة فى فهم ال SSL نفسه؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنا مش قادر أحدد النقطة اللى عندك فيها مشكلة برضه, هل المشكلة فى فهم ال SSL نفسه؟

:S ﻷ

المشكلة أن كل المصادر اللي شفتها هي تتحدث إما عن بيئة ويندوز أو Web Server

أنا اللي محتاج أعمله أن عندي سيرفر و عميل محتاج أعمل secure channel بينهم مشفر بشهادة رقمية لحتى أنقل عليها معلومات

مشكلتي أني ضعت في الموضوع (مع أني فاهم موضوع SSL تماما ﻷني أتعامل معه في عملي بشكل شبه يومي عبر Local CAs و الشهادات الرقمية لسيرفر الـ Exchange)

إذا كنت أريد عمل اتصال مشفر بين جهازين هل هي نفس الطريقة المتبعة في الـ web servers؟

آسف لهذا التشتيت صراحة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أوكى، يبقى المشكلة فى عمل هذا السيناريو على اللينكس و بين برنامجين مكتملين؟

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الـ defacto بالنسبة للـ transportation layer في عالم ++C هي asio. و هي تدعم إنشاء اتصالات مشفرة باستخدام OpenSSL حسبما أذكر. المكتبة اتفق على أنها المكتبة القياسية القادمة للـ sockets و لكنها defacto حالياً.

تم تعديل بواسطه Khaled.Alshaya
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الـ defacto بالنسبة للـ transportation layer في عالم ++C هي asio. و هي تدعم إنشاء اتصالات مشفرة باستخدام OpenSSL حسبما أذكر. المكتبة اتفق على أنها المكتبة القياسية القادمة للـ sockets و لكنها defacto حالياً.

يعني أستطيع استخدام asio في هذا الموضوع بدون أي مشاكل مستقبلا؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
يعني أستطيع استخدام asio في هذا الموضوع بدون أي مشاكل مستقبلا؟

ماهي المشاكل التي تتوقع حدوثها؟

يبقى عليك كتابة منطق البرنامج, و باعتقادي أنك ستحتاج لمكتبات عديدة بالإضافة إلى asio مثل Boost.Serialization إذا كنت تقوم RPC مبسط. ماهو بالضبط البروتوكول الذي يقبع فوق tcp(هل ستستخدم udp أصلاً؟!). هناك مكتبات في Boost ستسهل عليك كثيراً في هذا المجال, و لكن اطرح وظيفة التطبيق ربما يكون هناك مكتبات مساعدة لوظيفة البرنامج و ربما بشكل عام للمهام الأساسية.

تم تعديل بواسطه Khaled.Alshaya
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .