পেম ফাইল কী এবং এটি অন্যান্য ওপেনএসএসএল উত্পন্ন কী ফাইল ফর্ম্যাটগুলির থেকে কীভাবে আলাদা?


1342

আমি দুটি দেবিয়ান সার্ভার বজায় রাখার জন্য দায়বদ্ধ। প্রতিবার যখনই আমাকে সুরক্ষা শংসাপত্রের সাথে কিছু করতে হবে, আমি টিউটোরিয়ালগুলির জন্য গুগল করি এবং শেষ পর্যন্ত এটি কাজ না করা অবধি পরাজিত করব।

তবে কি আমার অনুসন্ধানে আমি প্রায়ই বিভিন্ন ফাইল ফরম্যাট জুড়ে আসা ( .key, .csr, .pem) কিন্তু আমি কখনোই প্রতিটি ফাইল ফরম্যাট এর উদ্দেশ্য একটি ভাল ব্যাখ্যা খুঁজে পেতে সক্ষম চলেছি।

আমি ভাবছিলাম যে সার্ভারফল্টের ভাল লোকেরা যদি এই বিষয়ে কিছু ব্যাখ্যা দিতে পারে?


উত্তর:


1654

এসএসএল দীর্ঘকাল ধরে আপনার মনে হয়েছে যে ধারক বিন্যাসে সম্মত হবে। এবং আপনি ঠিক আছেন, আছে। এটি ঘটে যেমন অনেকগুলি মানক। সুতরাং এটি আমি জানি এবং আমি নিশ্চিত যে অন্যরাও এতে বাজে।

  • .csr - এটি একটি শংসাপত্র স্বাক্ষর করার অনুরোধ। কিছু অ্যাপ্লিকেশনগুলি শংসাপত্র-কর্তৃপক্ষের কাছে জমা দেওয়ার জন্য এগুলি তৈরি করতে পারে। আসল ফর্ম্যাটটি পিকেসিএস 10 যা আরএফসি 2986 - সংজ্ঞায়িত হয়েছে । এটিতে অনুরোধ করা শংসাপত্রের কিছু / সমস্ত মূল বিবরণ যেমন সাবজেক্ট, সংস্থা, রাজ্য, হোয়াট নোট, সেই সাথে স্বাক্ষর করার জন্য শংসাপত্রের পাবলিক কী অন্তর্ভুক্ত রয়েছে। এগুলি সিএ স্বাক্ষরিত হয় এবং একটি শংসাপত্র ফেরত দেওয়া হয়। ফিরে আসা শংসাপত্র হ'ল সর্বজনীন শংসাপত্র (যার মধ্যে পাবলিক কী রয়েছে তবে ব্যক্তিগত কী নয়), যা নিজেই বেশ কয়েকটি ফরম্যাটে থাকতে পারে।
  • .pem - আরএফসিগুলিতে 1421 এর মাধ্যমে 1424 -এ সংজ্ঞায়িত , এটি একটি ধারক বিন্যাস যা কেবলমাত্র সার্বজনীন শংসাপত্র (যেমন অ্যাপাচি ইনস্টলগুলি এবং সিএ শংসাপত্র ফাইল সহ /etc/ssl/certs) অন্তর্ভুক্ত করতে পারে, বা পাবলিক কী, ব্যক্তিগত কী এবং একটি সম্পূর্ণ শংসাপত্র শৃঙ্খলা অন্তর্ভুক্ত করতে পারে and মূল শংসাপত্র। বিভ্রান্তিকরভাবে, এটি কোনও সিএসআর এনকোড করতে পারে (যেমন এখানে ব্যবহৃত হিসাবে) পিকেসিএস 10 ফর্ম্যাটটি পিইএম-তে অনুবাদ করা যেতে পারে। নামটি প্রাইভেসি এনহান্সড মেইল ​​(পিইএম) , সুরক্ষিত ইমেলের জন্য একটি ব্যর্থ পদ্ধতি তবে এটি ব্যবহৃত কনটেইনার ফর্ম্যাটটিতে রয়েছে এবং এটি x509 ASN.1 কীগুলির একটি বেস 64 অনুবাদ।
  • .key - এটি একটি পিইএম বিন্যাসিত ফাইল যা নির্দিষ্ট শংসাপত্রের কেবলমাত্র ব্যক্তিগত-কী থাকে এবং এটি কেবল একটি প্রচলিত নাম এবং মানকযুক্ত নয় one অ্যাপাচি ইনস্টলগুলিতে, এটি প্রায়শই ভিতরে থাকে /etc/ssl/private। এই ফাইলগুলির অধিকারগুলি খুব গুরুত্বপূর্ণ, এবং কিছু প্রোগ্রাম যদি ভুলতে থাকে তবে এই শংসাপত্রগুলি লোড করতে অস্বীকার করবে।
  • .pkcs12 .pfx .p12 - মূলত পাবলিক-কী ক্রিপ্টোগ্রাফি স্ট্যান্ডার্ডগুলিতে (সংক্ষেপিত পিকেসিএস) আরএসএ দ্বারা সংজ্ঞায়িত করা হয়েছে , "12" রূপটি মূলত মাইক্রোসফ্ট দ্বারা বর্ধিত হয়েছিল এবং পরে আরএফসি 7292 হিসাবে জমা দেওয়া হয়েছিল । এটি একটি পাসওয়ার্ডযুক্ত ধারক বিন্যাস যা সরকারী এবং ব্যক্তিগত উভয় শংসাপত্র জোড়া রয়েছে contains .Pem ফাইলগুলির বিপরীতে, এই ধারকটি পুরোপুরি এনক্রিপ্ট করা আছে। ওপেনসেল এটিকে পাবলিক এবং প্রাইভেট উভয় কী দিয়ে একটি .pem ফাইলে রূপান্তর করতে পারে:openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes

কয়েকটি অন্যান্য ফর্ম্যাট যা সময়ে সময়ে প্রদর্শিত হয়:

  • .der - বাইনারি মধ্যে ASN.1 সিনট্যাক্স এনকোড করার একটি উপায়, একটি .pem ফাইলটি কেবল একটি বেস 64 এনকোডেড .der ফাইল। ওপেনএসএসএল এগুলিকে .pem ( openssl x509 -inform der -in to-convert.der -out converted.pem) এ রূপান্তর করতে পারে । উইন্ডোজ এগুলিকে শংসাপত্র ফাইল হিসাবে দেখছে। ডিফল্টরূপে, উইন্ডোজ একটি আলাদা এক্সটেনশন সহ .DER ফর্ম্যাট করা ফাইল হিসাবে শংসাপত্রগুলি রফতানি করে। ভালো লেগেছে ...
  • .cert .cer .crt - একটি .pem (অথবা কদাচিৎ .der) একটি ভিন্ন এক্সটেনশন, এক একটি শংসাপত্র রয়েছে, এটি .pem নয় যেমন উইন্ডোজ এক্সপ্লোরার দ্বারা স্বীকৃত হয় ফরম্যাট ফাইল।
  • .p7b .keystore - আরএফসি 2315 কে পিকেসিএস 7 নম্বর হিসাবে সংজ্ঞায়িত করা হয়েছে , এটি উইন্ডোজ দ্বারা শংসাপত্র বিনিময়য়ের জন্য ব্যবহৃত একটি ফর্ম্যাট। জাভা এগুলি স্থানীয়ভাবে বোঝে এবং প্রায়শই এর .keystoreপরিবর্তে এক্সটেনশন হিসাবে ব্যবহার করে। .Pem শৈলীর শংসাপত্রগুলির বিপরীতে, এই ফর্ম্যাটের শংসাপত্রের শংসাপত্রের শংসাপত্রগুলি অন্তর্ভুক্ত করার জন্য একটি সংজ্ঞায়িত উপায় রয়েছে।
  • .crl - একটি শংসাপত্র প্রত্যাহার তালিকা। শংসাপত্র কর্তৃপক্ষগুলি মেয়াদ শেষ হওয়ার আগে শংসাপত্রগুলিকে ডি-অনুমোদনের উপায় হিসাবে এগুলি উত্পাদন করে। আপনি এগুলি কখনও কখনও সিএ ওয়েবসাইট থেকে ডাউনলোড করতে পারেন।

সংক্ষেপে, শংসাপত্র এবং তাদের উপাদান উপস্থাপনের জন্য চারটি আলাদা উপায় রয়েছে:

  • পিইএম - আরএফসি দ্বারা পরিচালিত, এটি ওপেন সোর্স সফ্টওয়্যার দ্বারা পছন্দসইভাবে ব্যবহৃত হয়। এটিতে বিভিন্ন ধরণের এক্সটেনশন থাকতে পারে (.পিএম, .কি, .সর, .স্র্যাট, আরও)
  • পিকেসিএস 7 - জাভা দ্বারা ব্যবহৃত ও উইন্ডোজ দ্বারা সমর্থিত একটি উন্মুক্ত মান। ব্যক্তিগত কী উপাদান থাকে না।
  • পিকেসিএস 12 - একটি মাইক্রোসফ্ট প্রাইভেট স্ট্যান্ডার্ড যা পরে আরএফসিতে সংজ্ঞায়িত হয়েছিল যা প্লেইন-পাঠ্য পিএম ফর্ম্যাট বনাম বর্ধিত সুরক্ষা সরবরাহ করে। এটিতে ব্যক্তিগত কী উপাদান থাকতে পারে। এটি উইন্ডোজ সিস্টেমগুলি দ্বারা পছন্দসইভাবে ব্যবহার করে এবং ওপেনসেল ব্যবহারের মাধ্যমে নিখরচায় পিইএম ফর্ম্যাটে রূপান্তরিত হতে পারে।
  • ডের - পিইএম এর প্যারেন্ট ফর্ম্যাট। এটি বেস 64-এনকোডেড পিইএম ফাইলের বাইনারি সংস্করণ হিসাবে ভাবা দরকারী। উইন্ডোজের বাইরে নিয়মিতভাবে খুব বেশি ব্যবহৃত হয় না।

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


297
স্ট্যান্ডার্ডগুলি সম্পর্কে দুর্দান্ত বিষয়টি হল যে অনেকগুলি বেছে নেওয়ার জন্য ...
স্কুইলম্যান

36
.crt .cert এবং .cer এর জন্য আর একটি সাধারণ বর্ধন
ডেভিড

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

20
খুব দরকারী উত্তর, তবে আমি মনে করি না আপনি দ্বারা তৈরি করা .pub ফর্ম্যাটটি coveredেকে দিয়েছেন ssh-keygen। কীভাবে এটি বাকী অংশগুলির সাথে সম্পর্কযুক্ত তা জেনে রাখা কার্যকর হবে।
জেজ

24
"গোপনীয়তা বর্ধিত ইমেল" লক্ষ্য করে সহায়তা করতে পারে না "পিইএম" এর বিপরীতে "PEE" সংক্ষিপ্ত বিবরণ দেবে। আরএফসি
গুলোতে

141

পিইএম এর নিজস্ব কোনও শংসাপত্র নয়, এটি ডেটা এনকোডিংয়ের এক উপায়। এক্স.509 শংসাপত্রগুলি এক ধরণের ডেটা যা সাধারণত পিইএম ব্যবহার করে এনকোড করা হয়।

পিইএম হ'ল একটি X.509 শংসাপত্র (যার কাঠামো ASN.1 ব্যবহার করে সংজ্ঞায়িত করা হয়), ASN.1 DER (বিশিষ্ট এনকোডিং বিধি) ব্যবহার করে এনকোড করা হয়, তারপরে বেস 64 এনকোডিংয়ের মাধ্যমে চালানো হয় এবং প্লেইন-টেক্সট অ্যাঙ্কর লাইনের মধ্যে আটকে থাকে (BEGIN সার্টিফিকেট এবং সমাপ্তি শংসাপত্র) )।

আপনি পিকেসিএস # 7 বা পিকেসিএস # 12 উপস্থাপনা ব্যবহার করে একই ডেটা উপস্থাপন করতে পারেন এবং এটি করতে ওপেনসেল কমান্ড লাইন ইউটিলিটি ব্যবহার করা যেতে পারে।

পিইএমের সুস্পষ্ট সুবিধা হ'ল এটি কোনও ইমেল বার্তার শরীরে পেস্ট করা নিরাপদ কারণ এতে অ্যাঙ্কর লাইন রয়েছে এবং এটি 7-বিট পরিষ্কার।

আরএফসি 1422 পিইএম মান সম্পর্কে আরও বিশদ রয়েছে কারণ এটি কী এবং শংসাপত্রগুলির সাথে সম্পর্কিত।


1
আপনি কীভাবে এটি "ওপেনসেল কমান্ড লাইন ব্যবহার করে" করবেন?
সামিক আর

2
(.Crt .cer .der) অবশ্যই PEM করার জন্য একটি DER ফাইলে রূপান্তর করার জন্য: openssl x509 -inform der -in cert.cer -out cert.pem। DER করার জন্য একটি অবশ্যই PEM ফাইলে রূপান্তর করার জন্য: openssl x509 -outform der -in cert.pem -out certi.der। একটি PKCS # 12 এর ফাইলে রূপান্তর করার জন্য (.pfx .p12) একটি প্রাইভেট কী ও অবশ্যই PEM করার সার্টিফিকেট ধারণকারী: openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes। একটি অবশ্যই PEM শংসাপত্র ফাইল এবং PKCS # করার জন্য একটি ব্যক্তিগত কী রূপান্তর করতে 12 (.pfx .p12): openssl pkcs12 -export -out cert.pfx -inkey privateKey.key -in cert.crt -certfile CACert.crtথেকে এখানে
mpeac

54

কখনও কখনও একটি .crtফাইল ইতিমধ্যে একটি .pem। দেখুন: https://stackoverflow.com/questions/991758/openssl-pem-key


4
সত্য সত্য, আমি আজ এটি লক্ষ্য করেছি। আমাকে র‌্যাকস্পেস লোডবালেন্সারের একটি পিইএম শংসাপত্র প্রবেশ করতে হয়েছিল এবং আমি ভাবছিলাম যে উত্পন্ন crt সেই বিন্যাসে ছিল কিনা। তবে এটি এর মতো কাজ করেছিল, তাই এটি আমার উপসংহারটিও ছিল, বেশিরভাগ .crt এর পিএএম ফর্ম্যাটে আসে বলে মনে হয়।
গ্লেন প্লাস

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