আইওএস 9 ত্রুটি পেয়েছে "একটি এসএসএল ত্রুটি ঘটেছে এবং সার্ভারের সাথে একটি সুরক্ষিত সংযোগ তৈরি করা যায় না"


109

যেহেতু আমি আমার বিদ্যমান প্রকল্পটি আইওএস 9 এর সাথে আপগ্রেড করেছি তাই আমি ত্রুটিটি পেতে থাকি:

একটি SSL ত্রুটি ঘটেছে এবং সার্ভারের সাথে একটি সুরক্ষিত সংযোগ তৈরি করা যায় না।


3
এটি আমার ক্ষেত্রে উত্তর খুঁজে পেতে প্রক্সি ত্রুটি ছিল। stackoverflow.com/a/34787953/3840428
নাগরজুন

উত্তর:


123

আইওএস 9-র জন্য অ্যাপল আইওএস 9 এর সাথে একটি মূল সিদ্ধান্ত নিয়েছে, অ্যাপ ট্রান্সপোর্ট সিকিউরিটির (এটিএস) অংশ হিসাবে আইওএস অ্যাপ্লিকেশনগুলি থেকে সমস্ত অনিরাপদ এইচটিটিপি ট্র্যাফিক অক্ষম করে ।

কেবল এটিএস অক্ষম করার জন্য, আপনি এই তথ্যগুলি খুলুন তথ্য.পল্লিস্ট দ্বারা অনুসরণ করতে পারেন এবং নিম্নলিখিত লাইনগুলি যুক্ত করতে পারেন:

<key>NSAppTransportSecurity</key>
  <dict>
      <key>NSAllowsArbitraryLoads</key>
      <true/>
  </dict>

45
আমি প্লাস্টে উপরের রেখাগুলি যুক্ত করেছি, তবে এখনও নিম্নলিখিত ত্রুটি পেয়েছি: একটি এসএসএল ত্রুটি ঘটেছে এবং সার্ভারের সাথে একটি সুরক্ষিত সংযোগ তৈরি করা যায় না। এনএসএলোক্যালাইজড রিকভারিওসগেশন = আপনি যে কোনওভাবে সার্ভারের সাথে সংযোগ স্থাপন করতে চান? এইচটিটিপিএসের জন্য অন্য কোনও বিকল্প আছে কি?
আইআইওএসএন

1
আইওএসএন = একই সমস্যা এখানে, আপনি কি কোনও সমাধান খুঁজে পেয়েছেন?
ফ্রাঙ্ক

5
এটি একটি সাধারণ ভুল ব্যাখ্যা বলে মনে হচ্ছে, এনএসএল্লোআরবিট্রেইলসগুলি এটিএস সক্ষম বা অক্ষম করার জন্য একটি স্যুইচ। আপনি https: // অনুরোধটি করার সাথে সাথে আপনাকে অবশ্যই এটিএস-প্রয়োজনীয়তা পূরণ করতে হবে তা নিশ্চিত করতে হবে: সার্ভারে ইনস্টল করা একটি বৈধ শংসাপত্র (ওয়াইল্ডকার্ড ছাড়াই সার্ভারের ডোমেন নামের সাথে মিল রয়েছে), সার্ভার টিএলএস 1.2 কে ফরোয়ার্ড সমর্থন করে নির্জনতা।
খ্রিস্টান

@ খ্রিস্টিয়ান এই এটিএস প্রয়োজনীয়তার উত্স কি? ওয়াইল্ডকার্ড শংসাপত্রগুলি সমর্থন না করার বিষয়ে আমি কিছুই খুঁজে পাচ্ছি না।
বার্ট

@ বার্তোস দুঃখিত, আমি আপনাকে কোনও সরকারী নথিতে নির্দেশ করতে পারি না, এটি আমাদের সার্ভার অবকাঠামো আপডেট করার সময় আমরা লক্ষ্য করেছি।
খ্রিস্টান

64

স্বেচ্ছাসেবী লোডগুলি ( NSAllowsArbitraryLoads = true) মঞ্জুরি দেওয়া একটি ভাল কাজ করার পরেও , আপনাকে পুরোপুরি এটিএস অক্ষম করা উচিত নয় বরং আপনি যে HTTP সংযোগটি মঞ্জুর করতে চান তা সক্ষম করতে হবে:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

2
সমস্ত সুরক্ষা সমস্যা উপেক্ষা করার চেয়ে অনেক ভাল। অ্যামাজনের এস 3 পরিষেবাটি দুর্বল এনক্রিপশন ব্যবহার করে এবং সরাসরি তাদের সার্ভারে লোড করা সমস্যার কারণ হয়ে দাঁড়িয়েছিল, তবে এটি আমাদের কেবলমাত্র s3.amazonaws.com ইউআরএল খোলার অনুমতি দিয়েছে, বাকী ইনলাইনটি রেখে। অসাধারণ!
মিশ্র

3
আমি যে সার্ভারটিতে পৌঁছানোর চেষ্টা করছি সেটি টিএলএসভি ১.০ ব্যবহার করে। এসএলএল ত্রুটিটি বাইপাস করতে tls1.0 এর জন্য আমাকে এনএসইসিপশনমিনিমামটিএলএসএল ভার্সন যুক্ত করতে হয়েছিল
ইস্পাস ক্লোডিউ

এই উত্তরটি আমার পক্ষে কাজ করেছিল। আমি একটি WKWebView ব্যবহার করছিলাম এবং API সার্ভারে একটি SSL অনুরোধ করার চেষ্টা করছিলাম।
ফ্যান জিন

হাই @ স্টাফেন, আমি অদ্ভুত পরিস্থিতি পেয়েছি। আমার ফোনে আইওএস সংস্করণ 12.1.2 রয়েছে, তবে আমি ত্রুটি পেয়েছি "একটি এসএসএল ত্রুটি ঘটেছে এবং সার্ভারের সাথে একটি সুরক্ষিত সংযোগ তৈরি করা যায় না"। আমি যা করেছি তা আমার প্লাস্ট ফাইল আপডেট করা হয়েছে। অ্যাপ্লিকেশনটি ঠিকঠাকভাবে চালানো হয়েছে এবং আমি আবার তথ্য.পল্লিস্টে করা পরিবর্তনগুলি সরিয়েছি। এখন এটা ঠিক চলছে। সুতরাং, আমি এই ত্রুটির প্রকৃত কারণ খুঁজে পেতে সক্ষম হই না। যেকোনো পরামর্শ?
মনসুউ ....

@ মনসু .... উপরের মন্তব্যে আপনি কি পরামর্শ দিয়েছেন TLSv1.0 ব্যবহার করার চেষ্টা করেছেন?
স্টাফেন ব্রুকার্ট

15

আইওএস 9 এমন সংযোগগুলিকে জোর করে যা এইচটিটিপিএসকে TLS 1.2 হিসাবে সাম্প্রতিক দুর্বলতাগুলি এড়াতে ব্যবহার করে। আইওএস 8-তে এমনকি এনক্রিপ্ট করা এইচটিটিপি সংযোগগুলি সমর্থিত ছিল, যাতে টিএলএস-এর পুরানো সংস্করণগুলি কোনও সমস্যা না করে। কার্যবিহীন হিসাবে, আপনি এই কোড স্নিপেটটি আপনার তথ্য.প্লাইতে যোগ করতে পারেন:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

* অ্যাপ ট্রান্সপোর্ট সিকিউরিটি (এটিএস) এর সাথে সম্পর্কিত

এখানে চিত্র বর্ণনা লিখুন


1
সুইফট 4+ এর জন্য, অ্যাপ ট্রান্সপোর্ট সিকিউরিটি সেটিংস ->
স্বেচ্ছাসেবী লোডগুলিকে

14

আপনি যদি সুনির্দিষ্ট ডোমেইনগুলিকে লক্ষ্য করে থাকেন তবে আপনি এটিকে আপনার অ্যাপ্লিকেশনটির তথ্য.পল্লিস্টে চেষ্টা করে যোগ করতে পারেন:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>

এটি আমার পক্ষে কার্যকর হয়নি। হ্যাঁ, আমি "উদাহরণ.com" এর জন্য সঠিক ডোমেনটি রেখেছি।
অ্যালোশাক

1
এটা আমার জন্য কাজ। যখন আমি কেবল "সালিসী লোডের মঞ্জুরি দিন" কাজ করে তবে বন্ধ হয়ে যাওয়ার উদাহরণ দিয়েছিলাম। আমি যখন "এনএসইএক্সসেপশন रिक্যোয়ার্ডস ফরওয়ার্ড সেক্রেসি" -> মিথ্যা এবং "এনএসআইঙ্ক্লিউডসডবੋਮইনস" -> সত্য ব্যবহার করি তখন এটি পুরোপুরি কার্যকর হয়। অনেক ধন্যবাদ!
লিনহাদিরিটালিপে

1
এটি আমার পক্ষেও কাজ করেছিল! যদিও আমি https সংযোগ ব্যবহার করছি, তবুও আমি সমস্যার মুখোমুখি হয়েছি। বর্তমানে 'এনএসইএক্সসেপশনের প্রয়োজনীয়তা ফরোয়ার্ড সেক্রেসি'র জন্য কোনও সমর্থন নেই। আমি যা পড়েছি তা থেকে, এটি আগে নির্দিষ্ট করার প্রয়োজন ছিল না তবে দেখে মনে হচ্ছে তারা এখনই এই বাধ্যতামূলক করে দিয়েছে। পিএস: আমি আইওএস 10.2.1 দিয়ে চেষ্টা করেছিলাম
বৈভব মিসরা

6

দেখা যাচ্ছে যে আইওএস 9.0.2 বৈধ এইচটিটিপিএস শেষ পয়েন্টগুলির অনুরোধগুলি ভঙ্গ করে। আমার বর্তমান সন্দেহ এটি SHA-256 শংসাপত্রের প্রয়োজন হয় বা এটি এই ত্রুটির সাথে ব্যর্থ হয়।

পুনরুত্পাদন করতে, সাফারির সাথে আপনার ইউআইবিউবভিউ পরিদর্শন করুন এবং একটি স্বেচ্ছাসেবী এইচটিটিপিএস শেষ পয়েন্টে নেভিগেট করার চেষ্টা করুন:

location.href = "https://d37gvrvc0wt4s1.cloudfront.net/js/v1.4/rollbar.min.js"
// [Error] Failed to load resource: An SSL error has occurred and a secure connection to the server cannot be made. (rollbar.min.js, line 0)

এখন গুগলে যাবার চেষ্টা করুন (কারণ তাদের কাছে একটি SHA-256 সার্টি রয়েছে):

location.href = "https://google.com"
// no problemo

পরিবহন সুরক্ষার ক্ষেত্রে একটি ব্যতিক্রম যুক্ত করা (উপরে @ স্টাফেন-ব্রুকার্টের উত্তর দ্বারা বর্ণিত) এটিকে সংশোধন করতে কাজ করে। আমি এটিও ধরে নিয়েছি যে সম্পূর্ণরূপে অক্ষম করাও NSAppTransportSecurityখুব কার্যকর হবে, যদিও আমি পড়েছি যে এটি সম্পূর্ণরূপে অক্ষম করা আপনার অ্যাপ্লিকেশন পর্যালোচনাকে বিপন্ন করতে পারে।

[সম্পাদনা] আমি খুঁজে পেয়েছি যে NSExceptionDomainsডিকের সাথে আমি যে ডোমেনগুলির সাথে সংযোগ করছি তার গণ্যকরণ সঠিকভাবে ছেড়ে যাওয়ার পরেও এই সমস্যাটি সংশোধন করে NSExceptionAllowsInsecureHTTPLoads। : \


2

সমস্যাটি হ'ল সার্ভারের পাশের এসএসএল শংসাপত্র। হয় কিছু হস্তক্ষেপ করছে বা শংসাপত্রটি পরিষেবার সাথে মেলে না। উদাহরণস্বরূপ যখন কোনও সাইটের www.mydomain.com এর জন্য এসএসএল শংসাপত্র রয়েছে যখন আপনি যে পরিষেবাটি ব্যবহার করেন সেটি myservice.mydomain.com এ চলে। এটি একটি ভিন্ন মেশিন।


আমি একই IP ঠিকানা (ডোমেইন ও সার্ভার) এ কিছু URL- সঙ্গে সমস্যা gettng করছি কিন্তু অন্যদের না
user6631314

2

আমি যখন আমার এইচটিটিপিএস ইউআরএলটি হিসাবে নির্দিষ্ট করি তখন আমি একই ত্রুটি পাই: https://www.mywebsite.com । তবে তিনটি ডাব্লু এর যেমন: https://mywebsite.com ব্যতীত আমি এটি নির্দিষ্ট করে দিলে এটি ঠিক কাজ করে ।


0

এক্সকোড প্রকল্প -> গোটো ইনফো.লিস্ট এবং + বাটন ক্লিক করুন তারপরে অ্যাড করুন (অ্যাপ ট্রান্সপোর্ট সিকিউরিটি সেটিংস) প্রসারিত করুন, স্বেচ্ছাসেবী লোড সেট করুন হ্যাঁ অনুমতি দিন। ধন্যবাদ


@ আবদুলুলইসিন আপনার প্লিস্টটি পরীক্ষা করে দেখুন এবং আবহাওয়ার পরিবর্তনগুলি আপডেট হয়েছে কিনা তা পরীক্ষা করে দেখুন?
শানমুগসুন্ধারাম

1
এই "পিছনে ফিরে" উত্তর সম্পূর্ণভাবে এই কার্যকারিতার সাথে সম্পর্কিত ব্যাখ্যা এবং সুরক্ষা ঝুঁকিকে বাদ দেয়।
ম্যানুয়েল

0

আমার সমস্যাটি ছিল NSURLConnectionএবং এটি iOS9 এ অবমূল্যায়ন করা হয়েছিল তাই আমি সমস্ত API এ পরিবর্তন করেছি NSURLSessionএবং এটি আমার সমস্যার সমাধান করে।

এনএসআরএল সংযোগটি iOS9 এ অবমূল্যায়ন করেছে


0

আমার ক্ষেত্রে আমি এই সমস্যাটি আমার সিমুলেটরটিতে ফেলেছিলাম কারণ আমার কম্পিউটারের তারিখটি বর্তমান তারিখের পিছনে ছিল। আপনি যখন এসএসএল ত্রুটির মুখোমুখি হন তখনও এই কেসটি পরীক্ষা করে দেখুন।


0

আমি প্লেব্যাক নেভিগেশন ত্রুটি পেয়েছিলাম

finished with error [-1200] Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSErrorFailingURLStringKey=https://remote-abcabc-svc.an.abc.com:1935/abr/_definst_/smil:v2/video/492F2F82592F59EA74ABAA6B9D6E6F42/F6B1BD452132329FBACD32730862CAE0/091EAD80FE9BEDD52A2F33840CA3CBAC.v3.eng.smil/playlist.m3u8, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <692A1174-DA1C-4267-9560-9020A79F8458>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <692A1174-DA1C-4267-9560-9020A79F8458>

আমি নিশ্চিত হয়েছি যে আমি প্লিস্ট ফাইলে ব্যতিক্রম ডোমেনগুলিতে এন্ট্রি যুক্ত করেছি এবং এনএসআল্লোআরবিটরিলডগুলি সত্যতে সেট করা আছে এবং এখনও আমি একটি ত্রুটি দেখছিলাম।

তারপরে আমি বুঝতে পারলাম যে আমি ইউআরএলটি https- র সাথে খেলছি, HTTP নয়।

আমি http এবং ভিডিওর সমাধানের জন্য ভিডিও url সেট করেছি।


0

আমি কিছু নেটওয়ার্ক কলের জন্য এই ত্রুটিটি পেয়েছিলাম অন্যদের জন্য নয়। আমি একটি পাবলিক ওয়াইফাইয়ের সাথে সংযুক্ত ছিলাম। এই ফ্রি ওয়াইফাইটি নির্দিষ্ট ইউআরএলগুলির সাথে মধুচারণে লিপ্ত হয়েছে এবং তাই ত্রুটি।

আমি যখন এলটিইতে সংযুক্ত হয়েছি তখন ত্রুটিটি চলে গেল!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.