আপনি কীভাবে অসম্পূর্ণ এসএসএল চেইনটি ঠিক করেন


29

আমার একটি গো ড্যাডি এসএসএল শংসাপত্র ইনস্টল আছে এবং অ্যান্ড্রয়েড ব্যতীত সর্বত্র দুর্দান্ত কাজ করে।

https://www.ssllabs.com/ssltest/analyze.html বলছে যে চেইনটি অসম্পূর্ণ, এবং আমি স্ট্যাক ওভারফ্লোতে পড়েছি যে ভুল ক্রমে একটি এসএসএল চেইন অ্যান্ড্রয়েডে ব্যর্থ হবে।

তবে আমি কীভাবে এটি অর্ডার করব? আমার সার্ভারে? এসএসএল সার্টের নিজেই কি রেইকি করা দরকার? জিনিসগুলিকে এফটিপি-তে সরান?

উত্তর:


19

জাকজানের উত্তর অনুসরণ করে, যখন আমি একটি অ্যান্ড্রয়েড ওয়েবভিউতে আমার সদ্য সুরক্ষিত সার্ভারে একটি এজেএক্স অনুরোধ করার জন্য jquery ব্যবহার করার চেষ্টা করেছি তখন আমার একটি সমস্যা হয়েছিল। এটি ব্রাউজারে কাজ করেছে, তবে আমার অ্যাপে নয়।

আমি এই সাইটটি ব্যবহার করেছি: https://certificatechain.io/

আমি আমার স্বাক্ষরিত .crt ফাইলের টেক্সটে পেস্ট করেছি আমি কমোডো (পজিটিভ এসএসএল) থেকে ফিরে এসেছি এবং এটি আমার প্রয়োজনীয় সমস্ত কিছুর সংমিশ্রণ ফিরিয়ে দিয়েছে। আমি এটিকে আমার ডোমেন + "চেন.ক্রটি" হিসাবে সংরক্ষণ করেছি (নীচে দেখুন)

তারপরে, আমার অ্যাপাচি কনফিগারেশনে আমি সেই নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য এরকম কিছু প্রবেশ করলাম:

SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt

এর পরে, আমার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটির ওয়েবভিউটিতে আমার সার্ভারে পোষ্ট টু এজ্যাক্স ব্যবহার করতে সমস্যা হয়নি। আমি এটি 2 রিয়েল-ওয়ার্ল্ড ডিভাইসে চেষ্টা করেছি, একটি চলছে 2.3.4, একটি চলমান 4. কিছু। এবং এমুলেটর চলমান 2.3। সব কাজ।

আশা করি এটা কাজে লাগবে.


1
আমার জন্য চাবিকাঠিটি SSLCACertificateFileনির্দেশকে যুক্ত করছিল এবং এটি আমার কর্তৃপক্ষ আমাকে যে সিএ ফাইল দিয়েছিল তাতে ইশারা করছিল। আমি যদি আমার শংসাপত্রের ফাইলে কেবল অন্য শংসাপত্রগুলি সম্মতি জানাই তবে এটি কাজ করবে না।
অ্যালেক্স ডাব্লু

পুরানো অ্যাপাচগুলিতে এসএসএলসিটিফিকেটফিন ফাইলের পরিবর্তে এসএসএলসিএরসিটিফিটফিল ব্যবহার করা যেতে পারে (আপনি যদি আপনার কনফিগারেশনে এই কীটি সন্ধান করেন এবং এটি খুঁজে না পান তবে)।
dr0i

অবিশ্বাস্যরূপে, তবে @ রিচার্ড জবাবটি সাইট সার্টিফিকেট.আইএনও ব্যবহার করছে এবং সাইটটি বলে ... "... জানু Žáক দ্বারা সার্টি -চেইন-রিসলভার দ্বারা অনুপ্রাণিত", যিনি এই প্রশ্নের উত্তর এখানে দিয়েছেন: superuser.com/a/866523/92500 , ধন্যবাদ @ জাকজান!
অ্যান্ড্রেস মোরেলস

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

9

চেইনটি crt ফাইলে ছিল যে আসল এসএসএলটি বন্ধ হয়ে গেছে।

GoDaddy এর জন্য একটি দ্বিতীয় সার্টি - gd_bundle.crt রয়েছে

এই তথ্যটি অনুলিপি করুন এবং এটি সার্ভারে ইনস্টল করা crt এ যুক্ত করুন।

সুতরাং সার্ভারে মূল ক্র্যাটের 1 শংসাপত্র ছিল এবং এটির পরে একই ফাইলটিতে 3 থাকবে। এই চেইন।

আমি এখনও পেয়েছিলাম ssllabs.com উপর চেইন বিষয়ে নোঙ্গর রয়েছে কিন্তু এটা এমন একটা বিষয়, ঠিক বা আউট ছুটি করার জন্য একটি বিকল্প নয় - অনুযায়ী - /security/24561/ssltest-chain-issues -contains-নোঙ্গর / 24566 # 24566


2
চেইনের সমস্যাগুলি থেকে মুক্তি পেতে gd_bundle.crt
সনমাই

7

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

আপনার ইস্যুকারীের কাছ থেকে মধ্যবর্তী শংসাপত্রগুলি আনতে সক্ষম হবে এবং সেগুলি নিজেই তাদের সাথে একত্রিত করতে হবে। বিটিডব্লিউ, আমি প্রক্রিয়াটি স্বয়ংক্রিয় করার জন্য একটি স্ক্রিপ্ট লিখেছি, এটি সঠিকভাবে শিকলযুক্ত শংসাপত্রগুলির আউটপুট উত্পাদন করতে একটি শংসাপত্র লাগে। https://github.com/zakjan/cert-chain-resolver


এটি এমন একটি সমাধানের মতো শোনাচ্ছে যা শংসাপত্রটি সঠিকভাবে সেটআপ হওয়ার কথা স্থানীয় মেশিনটিকে "কৌশল" বলে "
অ্যালেক্স ডব্লিউ

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