تقنية

get_ciphers في بايثون: هل القائمة تثبت اتصال TLS؟

فحص القائمة وعدم فراغها
نتيجتا مثالنا. [1] [2]

نستعلم من سياق عميل محلي. [1] [2]

الخلاصة السريعة

لا؛ القائمة تعرض مجموعات التشفير المفعلة، لا نجاح الاتصال. [1] [2]

  • يعيد get_ciphers() قائمة مرتبة بأولوية مجموعات التشفير. [1] [2]
  • ننشئ SSLContext بخيار PROTOCOL_TLS_CLIENT. [1] [2]
  • فحص القائمة ثم عدم فراغها يعطي True وTrue هنا. [1] [2]
  • المثال لا ينشئ مقبسًا أو يجري مصافحة. [1] [2]
  • SSLSocket.cipher() يصف مجموعة التشفير المتفاوض عليها عند الاتصال. [1] [2]
  • اختبرنا 3.12.14 وOpenSSL 3.5.8؛ لا اختبار شهادة نظير أو ضمان اتصال. [1] [2]

المثال

import ssl
c=ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
q=c.get_ciphers()
print(isinstance(q,list))
print(bool(q))

[1] [2]

المخرجان True ثم True لفحص شكل النتيجة وعدم فراغها. [1] [2]

الإعداد والاتصال

القائمة تصف مجموعات التشفير المفعلة وفق الأولوية. لا تثبت أن خادمًا وافق عليها. [1] [2]

لا إنشاء مقبس أو مصافحة في المثال
استعلام فقط. [1] [2]

مجموعة التشفير المتفاوض عليها معلومة اتصال؛ تعرضها SSLSocket.cipher() عند الاتصال. لم نستدعها. [1] [2]

الحدود

لا مقبس أو مصافحة أو فحص شهادة نظير هنا. تتأثر القائمة بالبيئة؛ المثال استعلام، لا اختبار نجاح اتصال أو وصفة إعداد إنتاج. [1] [2]

المراجع

  1. Python: ssl
  2. CPython3.12.14: _ssl
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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