এসএসএল সার্টিফিট ফাইল এবং এসএসএল সার্টিফিকেট চেইনফিলের মধ্যে পার্থক্য?


35

সাধারণত ভার্চুয়াল হোস্টের সাথে একটি এসএসএল নিম্নলিখিত নির্দেশাবলীর সাথে সেটআপ হয়:

Listen 443 

SSLCertificateFile /home/web/certs/domain1.public.crt
SSLCertificateKeyFile /home/web/certs/domain1.private.key
SSLCertificateChainFile /home/web/certs/domain1.intermediate.crt

থেকে: মুলিপোল vhosts সহ একটি সার্ভারে একক ডোমেনের জন্য এসএসএল সক্ষম করার জন্য, এই কনফিগারেশনটি কাজ করবে?

মধ্যে পার্থক্য কি SSLCertificateFileএবং SSLCertificateChainFile? ক্লায়েন্ট GoDaddy থেকে একটি সিএ কী কিনেছে। দেখে মনে হচ্ছে GoDaddy কেবল একটি SSLCertificateFile(.crt ফাইল) সরবরাহ করে এবং একটি SSLCertificateKeyFile (.key ফাইল) সরবরাহ করে এবং না SSLCertificateChainFile

আমার এসএসএল এখনও SSLCertificateChainFileনির্দিষ্ট পথ ছাড়াই কাজ করবে ?

এছাড়াও, কোনও আধ্যাত্মিক পথ রয়েছে যেখানে এই ফাইলগুলি স্থাপন করা উচিত?


1
সবচেয়ে বেশি যে আমি যে স্থানগুলিতে দেখতে যা নিশ্চিতভাবে ঘটবে ফাইল নির্বাণ মানুষ হয় /etc/ssl, /usr/local/etc/sslঅথবা একটি sslওয়েবসাইট থেকে সাব নির্দিষ্ট (যেমন /home/www/example.com/dataওয়েবসাইট তারপর করেছেন home/www/example.com/sslশংশাপত্র আছে)।
ক্রিস এস

উত্তর:


49

কড়া কথায় বলতে গেলে, এসএসএলকে কাজ করার জন্য আপনার কখনও চেইনের দরকার নেই।

আপনার সর্বদা যা দরকার তা হ'ল একটি SSLCertificateFileসাথেSSLCertificateKeyFile শংসাপত্রটি জন্য সঠিক কী সম্বলিত।

সমস্যাটি হ'ল, যদি আপনি অ্যাপাচিকে দেওয়া সমস্তই শংসাপত্র হয়, তবে সংযোগকারী ক্লায়েন্টগুলিকে যা যা দিতে হবে তা হ'ল শংসাপত্র - যা সেই এসএসএল শংসাপত্র সম্পর্কে পুরো গল্পটি বলে না। এটি বলছে, "আমি কারও দ্বারা স্বাক্ষরিত, তবে আমি তাদের সম্পর্কে আপনাকে বলব না"।

এটি সাধারণত সূক্ষ্মভাবে কাজ করে, কারণ বেশিরভাগ ক্লায়েন্ট সিস্টেমে সিএ শংসাপত্রের একটি বৃহত স্টোর রয়েছে (মূল এবং মধ্যবর্তী উভয়) যা বিশ্বাস স্থাপনের জন্য ম্যাচিং স্বাক্ষর সম্পর্কের জন্য এটি পরীক্ষা করতে পারে। তবে, কখনও কখনও এটি কাজ করে না; বেশিরভাগ ক্ষেত্রে আপনি যে বিষয়টিটি চালাবেন তা হ'ল এমন এক ক্লায়েন্ট যা আপনার শংসাপত্রে স্বাক্ষরিত একটি মধ্যবর্তী সিএর জন্য শংসাপত্র রাখে না।

এখানেই চেইন আসে; এটি অ্যাপাচি ক্লায়েন্টকে ঠিক ঠিক সেই বিশ্বাসের সম্পর্কের মতো দেখতে দেয় যা কোনও ক্লায়েন্টকে আপনার শংসাপত্রের মধ্যে শূন্যস্থান পূরণ করতে সহায়তা করে, একটি বিশ্বাসের মূল এবং সেই মধ্যবর্তীটি যা তারা জানে না। চেইনটি আপনার কনফিগারেশনে দুটি উপায়ের মধ্যে অন্তর্ভুক্ত করা যেতে পারে:

  • ক্রমযুক্ত SSLCertificateFileসার্ভার শংসাপত্রের পরে নতুন লাইনে আপনি যে ফাইলটি সেট করেছেন তার মধ্যে একই এম্বেড করা হয়েছে (মূলটি নীচে থাকা উচিত)। আপনি যদি এটি সেট আপ করেন তবে আপনি SSLCertificateChainFileঠিক একই ফাইলটি নির্দেশ করতে চাইবেন SSLCertificateFile
  • SSLCertificateChainFileনির্দেশে কনফিগার করা একটি পৃথক ফাইলে ; সার্ভারের শংসাপত্র জারি করা সিএ শংসাপত্রটি প্রথমে ফাইলের মধ্যে থাকা উচিত, তারপরে অন্য কোনও ব্যক্তির মুল রুট হওয়া উচিত।

আপনার কাছে এখন শংসাপত্রের ফাইলটি পরীক্ষা করুন - আমি বাজি ধরছি যে এতে চেইন ডেটা অন্তর্ভুক্ত নেই। যা সাধারণত সূক্ষ্মভাবে কাজ করে তবে শেষ পর্যন্ত কিছু ব্রাউজার বা অন্য কোনও সমস্যার কারণ ঘটবে।


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

"এসএসএল সার্টিফিটফাইলে এম্বেড করা হয়েছে": আমি এই কাজটি করতে চেয়েছি, তবে এটি ডক্সে উল্লেখ করা হয়নি এবং এটি উল্লেখ করা হয়নি। আপনার চেইনটি beোকাতে হবে SSLCertificateChainFile
স্টিভ কেহলেট

@ স্টেভকিলেট আপনি ঠিক বলেছেন যে এটি নথিভুক্ত নয়, তবে অতীতে এটি সফলভাবে কাজ করে এসেছি - আপনি কীভাবে সমস্ত ইন-ওয়ান ফাইলটি ফর্ম্যাট করেছিলেন?
শেন ম্যাডেন

1
@ স্টিভকিলেটটি আসলে, আপনি ঠিক বলেছেন, আমার ভুল মনে আছে; পথ আমি এটি একটি ফাইল জন্য সেট আপ ছিল উভয় আছে ছিল SSLCertificateFileএবং SSLCertificateChainFileসঠিক যে আমার উত্তর সম্পাদিত - একই সম্মিলিত ফাইল যা কাজ করে সরু।
শেন ম্যাডেন

পছন্দ করুন এটি কাজ করে! যে খুঁজে বের করার জন্য অনেক ধন্যবাদ।
স্টিভ কেহলেট 21

5

একে অপরের তুলনায় একটি বেছে নেওয়ার মধ্যে পর্যবেক্ষণযোগ্য প্রভাবগুলির পাশাপাশি পার্থক্যগুলির একটি দুর্দান্ত ভাল ব্যাখ্যা এখানে রয়েছে:

https://stackoverflow.com/questions/1899983/difference-between-sslcacertificatefile-and-sslcertificatechainfile


4

আসলে, GoDaddy আপনাকে একটি মধ্যবর্তী চেইন দেয়:

http://support.godaddy.com/help/5238

এখানে আরও কিছু আলোচনা।

http://support.godaddy.com/help/868/what-is-an-intermediate-certificate

আপনার নতুন শংসাপত্রটি কীভাবে ডাউনলোড করবেন তা বলার জন্য GoDaddy এর ইমেলটিতে অন্তর্বর্তী শংসাপত্রের ফাইলের তথ্যও থাকবে। এটি নীচের দিকে কোথাও রয়েছে, সম্ভবত আপনার চোখের শব্দটি ভার্চিয়া এবং আপসেল থেকে সজ্জিত হয়ে যাওয়ার পরে।

যদি আপনি যথাযথ এসএসএল সার্টিফিকেট চেইনফিল নির্দেশকে অন্তর্ভুক্ত না করেন তবে কী হবে তার পদক্ষেপে: আপনি আপনার ব্রাউজারে একটি বড় লাল সতর্কতা দেখতে পাবেন কারণ আপনার SSL সাইটের ব্রাউজারগুলিতে বৈধতা দেওয়া হবে না, কারণ তারা আপনার সাইটের থেকে শংসাপত্রগুলির শৃঙ্খলা অনুসরণ করতে পারে না as শংসাপত্র কর্তৃপক্ষের মালিকানাধীন একের কাছে ব্রাউজারটি জানে।


2

আমি এসএসএল সার্টিফিকেট চেইনফাইলে সম্পর্কে আগের উত্তরের উত্তরগুলি যুক্ত করতে চাই যে সেই ফাইলটিতে শংসাপত্রগুলির ক্রমটিও গুরুত্বপূর্ণ। ওপেনএসএসএল-ভিত্তিক ক্লায়েন্টরা নিজেরাই অর্ডারটি সাজিয়ে ফেলবে তবে গনটস ভিত্তিক ক্লায়েন্টরা ভুল ক্রমের সাথে একটি চেইনে ব্যর্থ হবে।

অর্ডার ক্রমগুলি গুনটস-ক্লাইকের সাথে পরীক্ষা করুন

gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p https wwwsec.cs.uu.nl

যেখানে /etc/ssl/certs/ca-certificates.crt হ'ল আপনার ডিস্ট্রো সম্মিলিত শংসাপত্র রাখে।

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