تحديد إصدار TLS المتفاوض عليه في تطبيقات .NET
ومع ذلك ، يمكن أن تختلف نسخة TLS الفعلية المستخدمة أثناء إنشاء الاتصال. يحدد هذا الدليل طريقتين لتحديد إصدار TLS المتفاوض عليه.
الطريقة 1: الانعكاس
هذه التقنية تعزز الانعكاس للوصول إلى الخصائص والحقول الداخلية للحصول على إصدار بروتوكول SSL. لاحظ أن هذا يعتمد على واجهات برمجة التطبيقات الداخلية وقد يتغير مع تحديثات .NET في المستقبل.
using System.IO.Compression;
using System.Net;
using System.Net.Security;
using System.Reflection;
using System.Security.Authentication;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
// ... other code ...
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
SecurityProtocolType.Tls11 |
SecurityProtocolType.Tls12 |
SecurityProtocolType.Tls13;
// ... other code ...
Uri requestUri = new Uri("https://somesite.com");
var request = WebRequest.CreateHttp(requestUri);
// ... other code ...
using (var requestStream = request.GetRequestStream()) {
// Request stream validated; now extract SSL protocol
SslProtocols sslProtocol = ExtractSslProtocol(requestStream);
if (sslProtocol != SslProtocols.None) {
// Process the sslProtocol value
}
}
// ... ExtractSslProtocol function (implementation would be provided here) ...
الطريقة 2: سمات سياق الاتصال الآمنة (متقدمة)
تصل هذه الطريقة إلى سمات سياق الاتصال عبر SECUR32.DLL
المكتبة. يتضمن هذا النهج العمل مع المقابض والهياكل غير العامة ، مما يجعله أقل قدرة على التحويل وربما أكثر تعقيدًا. (تم حذف التنفيذ التفصيلي بسبب التعقيد وعدم الاستقرار المحتمل.)
اعتبارات مهمة:
يقدم رد الاتصال هذا نظرة ثاقبة على بروتوكولات الأمان المستخدمة ، والمساعدة في تحديد إصدار TLS.
يسمح TcpClient
باسترداد معلومات tls قبل
تساعد هذه المعلومات المطورين على فهم وإدارة بروتوكولات الأمان المستخدمة من قبل تطبيقات .NET الخاصة بهم. تذكر أن تنظر بعناية في الآثار والمخاطر المحتملة المرتبطة باستخدام التفكير والتفاعل مع المكتبات غير المدارة. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3