النصي Powershell لتحميل الملف تواجه مشكلة في إنشاء اتصال آمن

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

  •  02-07-2019
  •  | 
  •  

سؤال

أنا صنع السيناريو الآلي قراءة القائمة من موقع نشر أحدث ترجمة التعليمات البرمجية.هذا الجزء لقد برزت بالفعل.الجزء التالي من البرنامج النصي هو الاستيلاء التي جمعت رمز من خادم مع غير موثوق بها Cert.

هذا هو كيف أنا ذاهب عن الاستيلاء على الملف:

$web = new-object System.Net.WebClient
$web.DownloadFile("https://uri/file.msi", "installer.msi")

ثم أحصل على الخطأ التالي:

استثناء داعيا "DownloadFile" مع "2" الحجة(s):"الأساسية تم إغلاق الاتصال:لا يمكن تأسيس علاقة ثقة عن SSL/TLS قناة آمنة."

أنا أعرف أنا في عداد المفقودين شيء ، ولكن لا أستطيع الحصول على الطريق الصحيح للبحث عنه.

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

المحلول

تحتاج إلى كتابة رد معالج ServicePointManager.ServerCertificateValidationCallback.

نصائح أخرى

براد هو الصحيح ، ولكن لاحظ أن PowerShell V1 ليس لديه دعم أصلي الوفود التي سوف تحتاج في هذه الحالة المحددة.وأعتقد أن هذا يجب أن تحصل هذا القيد (في الواقع السيناريو الذي وصف هو بالضبط واحد من الأمثلة المستخدمة).

إذا كنت تستخدم powershell مواجهة هذا الخطأ.استخدام الأمر:

[Net.ServicePointManager]::SecurityProtocol = [النظام.صافي.SecurityProtocolType]::Tls12

قبل تحميل الحزمة.أنها قوات PS استخدام TLS 1.2.

سبب الفشل يمكن أن يكون موقع أنت تحاول تحميل من تم تعطيل دعم TLS 1.0 التي PS يستخدم بشكل افتراضي.

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