ما هو الفرق بين set_client_ca_ca_list_from_ca_list_from_file () و load_verify_info () ومتى تستخدم كل منها؟

StackOverflow https://stackoverflow.com/questions/1848160

  •  13-09-2019
  •  | 
  •  

سؤال

ال مكتبة M2Crypto لديه عدد قليل من المهام المتعلقة باله كائن SSL.Context, ، ولكن الوثائق غير واضحة للغاية فيما يتعلق به عندما تستخدم وظائف معينة ولماذا. في الواقع، فإن مستندات جميعها تقريبا، "تحميل CA يرتدي السياق"، لذلك يبدو من الممكن أن يفعلوا جميعا نفس الشيء.

هناك العديد من أمثلة التي تستخدم كليهما set_client_CA_list_from_file() و load_verify_info(), ، ولكن هناك أيضا وظائف أخرى مماثلة مثل load_client_ca() و load_verify_locations().

أنا أكتب كل من قطع العملاء والخادم. ما هي الوظائف التي يجب أن أستخدمها ولماذا؟ ماذا يفعلون على وجه التحديد؟

يحرر:

النظر من خلال التعليمات البرمجية أرى:

# Deprecated.
load_client_CA = load_client_ca = set_client_CA_list_from_file

و

# Deprecated.
load_verify_info = load_verify_locations

بحيث يساعد قليلا. هذا يجلبنا إلى وظيفتين: set_client_CA_list_from_file() و load_verify_locations(). وبعد لكن ما زلت لا أستطيع أن أخبر الفرق بين الاثنين.

هل كانت مفيدة؟

المحلول

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

يحدد العميل من هي مصدري شهادات الخادم الصالح عن طريق الاتصال load_verify_locations.. وبعد يجب على جميع العملاء تقريبا القيام بذلك.

يمكن لكل من العميل والخادم الاتصال load_cert. لتعيين شهادة خاصة بهم. يجب أن تفعل الخوادم دائما تقريبا. ربما ينبغي للعملاء القيام بذلك فقط إذا كان الخادم يتطلب العميل تقديم شهادة.

أوصي باختيار نسخة من أمن الشبكة مع Openssl بقلم جون فيجا، مات ميسير وبرافير تشاندرا، ISBN 059600270X، والتي يجب أن توضح هذه القضايا بمزيد من التفاصيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top