nimaltd / gsm_v5

gsm module library for STM32 LL
GNU General Public License v3.0
232 stars 86 forks source link

ERROR 606 #42

Open mahmood66b opened 2 years ago

mahmood66b commented 2 years ago

سلام مهندس عزیز ممنونم از وقتی میگذارید پیغام خطای 606 هنگام اتصال به بیشتر سایت ها را به من میدهد به بعضی از سایت ها نیز متصل می شود خیلی وقت هست که دچار این مشکل شدم در صورت امکان راهنمایی فرمایید برای حل این مشکل قابل ذکر است که مدیریت سایت در اختیار ما میباشد در صورت لزوم تغییرات . ضمنا فقط این مشکل با سایتهایی است که SSL دارد . تشکر فراوان

nimaltd commented 2 years ago

سلام. gsm_gprs_httpGet مثلا این تابع یدونه ssl داره تو ورودی . bool هست. true میزنید

mahmood66b commented 2 years ago

سلام بله فعال هست مشکل اینه که به بعضی از سایت های با پروتکل امن وصل میشه و پیغام 200 که به معنی اتصال صحیح است ارسال میکنه ولی به اکثر سایت ها متصل نمیشه و SIM800 پیغام 606 برای ما ارسال میکند

danyhm commented 2 years ago

سلام. اگر هاست دست خودتون هست باید نسخه های پایین تر برای TLS و SSL استفاده کنید. مشکل در حقیقت برای IP Stack خود ماژول است که فقط از نسخه های SSL2, SSL3 and TLS 1.0 پشتیبانی میکنه. برای همین برای برخی سایت ها کار میکنه و برای برخی خیر.

mahmood66b commented 2 years ago

سلام. اگر هاست دست خودتون هست باید نسخه های پایین تر برای TLS و SSL استفاده کنید. مشکل در حقیقت برای IP Stack خود ماژول است که فقط از نسخه های SSL2, SSL3 and TLS 1.0 پشتیبانی میکنه. برای همین برای برخی سایت ها کار میکنه و برای برخی خیر.

سلام دوست عزیز ممنونم از جوابتون هاست دست خودمون هست ولی مهندس برنامه نویس سایت میگه که دخل و تصرفی در نسخه TLS و SSL نداره چون که شرکت اون رو ارایه میده و میگه که از تمامی نسخه ها پشتیبانی میکنه اگر راه حلی دارید بفرمایید تشکر

danyhm commented 2 years ago

سلام. اگر هاست دست خودتون هست باید نسخه های پایین تر برای TLS و SSL استفاده کنید. مشکل در حقیقت برای IP Stack خود ماژول است که فقط از نسخه های SSL2, SSL3 and TLS 1.0 پشتیبانی میکنه. برای همین برای برخی سایت ها کار میکنه و برای برخی خیر.

سلام دوست عزیز ممنونم از جوابتون هاست دست خودمون هست ولی مهندس برنامه نویس سایت میگه که دخل و تصرفی در نسخه TLS و SSL نداره چون که شرکت اون رو ارایه میده و میگه که از تمامی نسخه ها پشتیبانی میکنه اگر راه حلی دارید بفرمایید تشکر

میشه لینک سایت رو بدید چک کنم؟

danyhm commented 2 years ago

در حالت کلی 2 تا مشکل میتونه باشه. 1- هاستتون از نسخه هایی که گفتم پشتیبانی نمیکنه. 2- گواهینامه SSL CA درون ماژول شامل CA سایت نمیشه برای همین خطا میده و نمیتونه کانکشن برقرار کنه. اگر این حالت باشه 2 راه دارید. 1- گواهینامه CA سایتتون رو به صورت دستی وارد ماژول کنید با استفاده از کامند AT+SSLSETCERT 2- زنجیره اعتبار گواهی رو نادیده بگیرید با استفاده از کامند AT+SSLOPT=0,0 دقت کنید در حالت دوم عملا رمزنگاری ایمن نادیده گرفته میشه.

mahmood66b commented 2 years ago

سلام. اگر هاست دست خودتون هست باید نسخه های پایین تر برای TLS و SSL استفاده کنید. مشکل در حقیقت برای IP Stack خود ماژول است که فقط از نسخه های SSL2, SSL3 and TLS 1.0 پشتیبانی میکنه. برای همین برای برخی سایت ها کار میکنه و برای برخی خیر.

سلام دوست عزیز ممنونم از جوابتون هاست دست خودمون هست ولی مهندس برنامه نویس سایت میگه که دخل و تصرفی در نسخه TLS و SSL نداره چون که شرکت اون رو ارایه میده و میگه که از تمامی نسخه ها پشتیبانی میکنه اگر راه حلی دارید بفرمایید تشکر

میشه لینک سایت رو بدید چک کنم؟

https://ir-mts.ir/

mahmood66b commented 2 years ago

در حالت کلی 2 تا مشکل میتونه باشه. 1- هاستتون از نسخه هایی که گفتم پشتیبانی نمیکنه. 2- گواهینامه SSL CA درون ماژول شامل CA سایت نمیشه برای همین خطا میده و نمیتونه کانکشن برقرار کنه. اگر این حالت باشه 2 راه دارید. 1- گواهینامه CA سایتتون رو به صورت دستی وارد ماژول کنید با استفاده از کامند AT+SSLSETCERT 2- زنجیره اعتبار گواهی رو نادیده بگیرید با استفاده از کامند AT+SSLOPT=0,0 دقت کنید در حالت دوم عملا رمزنگاری ایمن نادیده گرفته میشه.

گواهینامه سایت رو وارد کردم ولی بازم نشد البته اگه لطف کنید بگید روش صحیح گرفتن گواهینامه سایت به چه صورت هستش تشکر

danyhm commented 2 years ago

هاست رو با استفاده از ابزار زیر تست کردم https://www.ssllabs.com/ssltest/analyze.html?d=ir-mts.ir بر خلاف تصورتون هاست از SSL2 , SSL3 اصلا پشتیبانی نمیکنه. یعنی کلا پروتوکل ساپورت نمیشه. پس تنها راه ارتباطی TLS1.0 هست. من در مورد دستور AT+SSLOPT اشتباه کردم و البته دیتا شیت هم بد توضیح داده. توی نسخه جدیدتر اصلاحش کردن که میشه نسخه 1.05 https://microchip.ua/simcom/2G/Application%20Notes/SIM800%20Series_SSL_Application%20Note_V1.05.pdf به صراحت قید کرده باید AT+SSLOPT=0,1 بزنید. در مورد وارد کردن گواهینامه 2 تا دستور هست یکی AT+SSLSETROOT و دیگری AT+SSLSETCERT. ظاهرا یکی برای server authentication هست و دیگری برای client authentication. متاسفانه در مورد فرمت فایل زیاد توضیح نداده. برای SSLSETROOT فقط گفته فرمت binary با پسوند .crt و برای SSLSETCERT فرمت ASCII. حالا اینکه فرمت هارو چگونه باید تبدیل کردن باید سرچ کنید. اگر امنیت اطلاعات خیلی مهم نیست کلا از HTTPS استفاده نکنید. اگر هم هست و راه حل های بالا جواب نداد میتونید از HTTP ساده با رمزنگاری دستی با کد های wolfssl استفاده کنید.

mahmood66b commented 2 years ago

هاست رو با استفاده از ابزار زیر تست کردم https://www.ssllabs.com/ssltest/analyze.html?d=ir-mts.ir بر خلاف تصورتون هاست از SSL2 , SSL3 اصلا پشتیبانی نمیکنه. یعنی کلا پروتوکل ساپورت نمیشه. پس تنها راه ارتباطی TLS1.0 هست. من در مورد دستور AT+SSLOPT اشتباه کردم و البته دیتا شیت هم بد توضیح داده. توی نسخه جدیدتر اصلاحش کردن که میشه نسخه 1.05 https://microchip.ua/simcom/2G/Application%20Notes/SIM800%20Series_SSL_Application%20Note_V1.05.pdf به صراحت قید کرده باید AT+SSLOPT=0,1 بزنید. در مورد وارد کردن گواهینامه 2 تا دستور هست یکی AT+SSLSETROOT و دیگری AT+SSLSETCERT. ظاهرا یکی برای server authentication هست و دیگری برای client authentication. متاسفانه در مورد فرمت فایل زیاد توضیح نداده. برای SSLSETROOT فقط گفته فرمت binary با پسوند .crt و برای SSLSETCERT فرمت ASCII. حالا اینکه فرمت هارو چگونه باید تبدیل کردن باید سرچ کنید. اگر امنیت اطلاعات خیلی مهم نیست کلا از HTTPS استفاده نکنید. اگر هم هست و راه حل های بالا جواب نداد میتونید از HTTP ساده با رمزنگاری دستی با کد های wolfssl استفاده کنید

درود ویژه مهندس عزیز که وقت میگذارید و جواب میدید یه چیز عجیب اینه که به بعضی از سایت ها وصل میشه ولی به بعضی دیگه نه الان سایت زیر هم وصل میشم که تقریبا مشخصاتش مثل قبلی هست اگه ممکنه بررسی بفرمایید و تفاوت رو به ما بگید https://www.ssllabs.com/ssltest/analyze.html?d=anywhereyouare.ir

danyhm commented 2 years ago

بحث SSL خیلی پیچیده است و باید دقیقتر بررسی بشه که متاسفانه من وقتش رو ندارم. ولی با یک نگاه ساده حداقل ۲ تفاوت عمده هست. اول اینکه صادر کننده گواهینامه ۲ سایت با هم متفاوت هستن پس یعنی ممکنه مشکل گواهینامه مادر باشه. دوم اینکه سایت دوم الگوریتم های بیشتری رو ساپورت میکنه برای TLS1.0 که البته با قرمز مشخص شدند به عنوان INSECURE که سایت اول تعداد کمتری ساپورت میکرد.