دسته بندی ها
08:59 1400/05/26

خطای Could not create SSL TLS secure channel هنگام دانلود فایل

مشخصات سوال کننده :
کاربر : mojtabahakimian     امتیاز کاربر : 155     رتبه کاربر : 10
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 5703
2 نظر
mojtabahakimian : خیلی عجیبه که این کار به این سادیگی رو توی سی شارپ اذیت میکنه من عینا همین کار رو با پایتون (Python) خیلی راحت بدون مشکل انجام دادم جالب تر از اون توی اکثر پروژه های دانلودی توی اینترنت هم تست کردم همین مشکل رو دارند

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 06:49 1400/05/28
mojtabahakimian : مهندسان عزیز متوجه یه بخشی از مشکل شدم اودم توئی Properties پروژه داتنت فریمورک رو که 4.5 بوده به ← 4.6.1 تغییر دادم درست شد اما باز اومدم .NetFramework بالاتر استفاده کردم همین خطا ی مربوط به SSL رو داد !!!!! به خاطر چیه دقیقا که توی داتنت 4.6.1 خطا نداد ؟؟

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 11:18 1400/05/29
پاسخ دهنده : hamdola 00:11 1400/05/30

خطای شما رو تا حالا برخورد نکردم ولی طبق این لینک باید کد زیر رو اضافه کنید :

 

// using System.Net;
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// Use SecurityProtocolType.Ssl3 if needed for compatibility reasons

 

توی همین لینکی که ارسال کردم خدمتتون چندین راه حل دیگه وجود داره. تست کردید این راه حل ها رو ؟

به این پاسخ امتیاز بدهید    0
امتیاز: 121 رتبه: 12
1 نظر
mojtabahakimian : سلام متشکرم بله جواب نمیدهد نکته جالب اینجاست که تست کردم در ویندوز ۱۰ با دات نت فریم ورک ۴ و نیم همین خطای ssl را می دهد اما در همین ویندوز ۱۰ وقتی دات نت فریم ورک ۴ و نیم رو به 4.6.1 تغییر دادم درست کار کرد حالا همین ۴۶۱ رو در ویندوز سرور ۲۰۱۲ ۶۴ بیتی و ویندوز سون ۶۴ بیتی تست کردم خطای ssl می‌دهد کدهای شما هم تو کدهای بالا بوده واقعا نمیدونم چیکار باید بکنم

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 00:19 1400/05/30
پاسخ دهنده : mohammad-i 09:52 1400/05/30

این مشکل معمولا به دلیل عدم همخوانی پروتوکل های SSL در مبدا و مقصد می باشد.

برای مثال ممکنه مقصد شما از TSL استفاده میکنه ولی این مورد توی دات نت 4.5 ساپورت نمیشه. واسه همین ورژن بالاتر میزارین مشکل برطرف میشه.

راهکارش هم اینه طبق گفته دوستون در پست بالا، از یه سری کد ها استفاده کنید و پروتوکل رو تغییر بدید یا اینکه از ورژن بالاتر استفاده کنید.

 

نکته : توی .Net framework های نسخه بالا، وظیفه انتخاب ورژن SSL/TSL به عهده سیستم عامل قرار داده شده. یعنی دیگه کاری نداره فریمورک شما چه ورژن ساپورت میکنه، فقط بررسی میکنه سیستم عامل ساپورت میکنه یا نه

ویرایش شده در شنبه 30 مرداد 1400 ساعت 09:57:30
به این پاسخ امتیاز بدهید    1
امتیاز: 260 رتبه: 7
5 نظر
mojtabahakimian : از این کد ها استفاده کردم اکر دقت کنید گفتم که هر نوع پروتکل Https هست دانلود کن لطفا بررسی کنید مشکل اینجوری حل نشده !!!!!

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 08:58 1400/05/30
mojtabahakimian : توی Secound Try هست ملحاظه بفرمایید کد ها رو هم که اینجا گذاشتم یه بررسی بکنید متوجه مشکل خواهید شد

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 08:59 1400/05/30
mojtabahakimian : توی ویندوز های به غیر از 10 مهم نیست چه داتنت فریمورکی دارید یا گفتید از چه پروتکلی اتستفاده کن بازم خطا میده

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 09:00 1400/05/30
mojtabahakimian : و یه نکته دیگه این که نرم افزاری مثل دانلود منیجر چیکار کرده ؟ یا همین کار توی پایتون چرا به همچین مشکلی ندارن

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 09:02 1400/05/30
mohammad-i : توضیحاتی که دادم در مورد ورژن SSL/TSL بود. درسته هر دو سمت https هستن ولی ممکنه ورژن ssl متفاوت باشه. در مورد ویندوز صحبت نکردم، گفتم توی net framework. های جدید مسئولیت تعیین ورژن ssl به عهده ی سیستم عامل هست. یعنی به جای تعیین ورژن ssl در پروژه، از نسخه ی ssl سیستم عامل استفاده میشه.

امتیاز کاربر : 260   رتبه کاربر : 7   تاریخ ثبت : 03:49 1400/06/01
ادامه نظرات ...
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود