আপনারা যারা এটি কেন ঘটছে সে সম্পর্কে আরও প্রসঙ্গ চান , এটি ঠিক করার পদ্ধতি ছাড়াও নীচে পড়ুন।
আইওএস 9 প্রবর্তনের সাথে সাথে একটি অ্যাপ্লিকেশন এবং ওয়েব পরিষেবাদির মধ্যে সংযোগগুলির সুরক্ষা উন্নত করতে, একটি অ্যাপ্লিকেশন এবং এর ওয়েব পরিষেবার মধ্যে সুরক্ষিত সংযোগগুলি অবশ্যই সেরা অভ্যাস অনুসরণ করতে হবে । অ্যাপ্লিকেশন পরিবহন সুরক্ষা দ্বারা সেরা অনুশীলন আচরণ প্রয়োগ করা হয়:
- দুর্ঘটনাজনিত প্রকাশ রোধ, এবং
- সুরক্ষিত একটি ডিফল্ট আচরণ সরবরাহ করুন।
অ্যাপ ট্রান্সপোর্ট সিকিউরিটি টেকনোটে যেমন ব্যাখ্যা করা হয়েছে , আপনার ওয়েব পরিষেবাদির সাথে যোগাযোগ করার সময়, অ্যাপ ট্রান্সপোর্ট সিকিউরিটির এখন নিম্নলিখিত প্রয়োজনীয়তা এবং আচরণ রয়েছে:
- সার্ভারটি অবশ্যই কমপক্ষে পরিবহন স্তর সুরক্ষা (টিএলএস) প্রোটোকল সংস্করণ 1.2 সমর্থন করে support
- সংযোগ সাইফারগুলি সীমাবদ্ধ যারা ফরোয়ার্ড গোপনীয়তা সরবরাহ করে (নীচে সাইফারগুলির তালিকা দেখুন))
- শংসাপত্রগুলিতে একটি SHA256 বা আরও ভাল স্বাক্ষর হ্যাশ অ্যালগরিদম ব্যবহার করে স্বাক্ষর করতে হবে, হয় 2048 বিট বা বৃহত্তর আরএসএ কী বা 256 বিট বা বৃহত্তর এলিপটিক-কার্ভ (ইসিসি) কী দ্বারা।
- অবৈধ শংসাপত্রগুলির ফলে একটি হার্ড ব্যর্থতা এবং কোনও সংযোগ নেই।
অন্য কথায়, আপনার ওয়েব পরিষেবার অনুরোধটি হওয়া উচিত: ক) এইচটিটিপিএস এবং খ।) ফরোয়ার্ড গোপনীয়তার সাথে টিএলএস ভি 1.2 ব্যবহার করে এনক্রিপ্ট করা উচিত।
তবে অন্যান্য পোস্টে যেমন উল্লেখ করা হয়েছে, আপনি অ্যাপ ট্রান্সপোর্ট সুরক্ষা থেকে Info.plist
আপনার অ্যাপ্লিকেশনটির অনিরাপদ ডোমেনটি নির্দিষ্ট করে এই নতুন আচরণটি ওভাররাইড করতে পারেন ।
ওভাররাইড করতে, আপনার নিজের NSAppTransportSecurity
> NSExceptionDomains
অভিধানের বৈশিষ্ট্য যুক্ত করতে হবে Info.plist
। এরপরে, আপনি অভিধানে আপনার ওয়েব পরিষেবার ডোমেন যুক্ত করবেন NSExceptionDomains
।
উদাহরণস্বরূপ, আমি হোস্ট www.yourwebservicehost.com- এ কোনও ওয়েব পরিষেবার জন্য যদি অ্যাপ ট্রান্সপোর্ট সুরক্ষা আচরণটি বাইপাস করতে চাই তবে আমি নিম্নলিখিতটি করবো:
এক্সকোডে আপনার অ্যাপ্লিকেশনটি খুলুন।
Info.plist
প্রকল্প নেভিগেটরে ফাইলটি সন্ধান করুন এবং "ডান-মাউস" এটিতে ক্লিক করুন এবং ওপেন হিসাবে > উত্স কোড মেনু বিকল্পটি চয়ন করুন। সম্পত্তি তালিকার ফাইলটি ডান ফলকে উপস্থিত হবে।
মূল বৈশিষ্ট্য অভিধানের ভিতরে নিম্নলিখিত বৈশিষ্ট্যগুলিকে ব্লক করুন (প্রথমটির নীচে <dict>
)।
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>www.example.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
যদি আপনাকে অতিরিক্ত ডোমেনগুলির জন্য ব্যতিক্রম সরবরাহ করতে হয় তবে আপনি নীচে অন্য অভিধানের সম্পত্তি যুক্ত করবেন NSExceptionDomains
।
কী উপরে উল্লেখিত সম্পর্কে আরো জানতে, পড়তে ইতিমধ্যে উল্লিখিত technote ।