আমার কি অ্যাপাচি এসএসএল শংসাপত্রগুলির জন্য .CER .CRT রূপান্তর করতে হবে? যদি তাই হয়, কিভাবে?


121

এসএসএল সহ আমার অ্যাপাচি 2 সার্ভার সেটআপ করা দরকার।

আমার কাছে আমার * .কি ফাইল আছে, তবে অনলাইনে পাওয়া সমস্ত ডকুমেন্টেশন, * .crt ফাইল সুনির্দিষ্ট করা হয়েছে এবং আমার সিএ আমাকে কেবল একটি * .cer ফাইল সরবরাহ করেছিল।

* .Cer ফাইলগুলি কি * .crt এর মতো? যদি তা না হয় তবে আমি কীভাবে সিইআরটিকে সিআরটি ফর্ম্যাটে রূপান্তর করতে পারি?


11
CERএবং CRTএক্সটেনশনগুলির অর্থ কিছুই নয়। বিভিন্ন পিকেআই বিক্রেতারা একই জিনিসটির জন্য বিভিন্ন এক্সটেনশন ব্যবহার করে। যদি ফাইলটি বাইনারি হয় তবে সম্ভবত এটিএনএন / ডিইআর এনকোড করা আছে। ফাইলটি যদি মানুষের সাথে পঠনযোগ্য হয় -----BEGIN CERTIFICATE-----তবে তার পিইএম এনকোডেড রয়েছে। আপনার কী আছে (ডিইআর বা পিইএম), এবং আপনার কী দরকার (ডিইআর বা পিইএম)?
jww

উত্তর:


106

ক্রিপ্টোগ্রাফিক শংসাপত্রগুলির জন্য ফাইল এক্সটেনশানগুলি আপনার প্রত্যাশা মতো সত্যই মানসম্পন্ন হয় না। উইন্ডোজ ডিফল্টরূপে .crtউইন্ডোজ রুট শংসাপত্রের স্টোরটিতে শংসাপত্রটি আমদানির অনুরোধ হিসাবে একটি ফাইলকে ডাবল-ক্লিক করে আচরণ করে তবে একটির সাথে আচরণ করে.cer ফাইলকে কেবল শংসাপত্রটি দেখার জন্য অনুরোধ হিসাবে বিবেচনা করে। সুতরাং, তারা এই অর্থে পৃথক যে উইন্ডোজ যখন প্রতিটি ফাইলের ডাবল ক্লিক করে তখন যা হয় তার জন্য কিছু অন্তর্নিহিত আলাদা অর্থ রয়েছে।

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

আরও বিভ্রান্তিকর জিনিসগুলি তৈরি করা হ'ল কোনও ফাইলে শংসাপত্রের ডেটা সংরক্ষণের দুটি স্ট্যান্ডার্ড উপায় রয়েছে: একটি হ'ল "বাইনারি" X.509 এনকোডিং এবং অন্যটি একটি "পাঠ্য" বেস 64 এনকোডিং যা সাধারণত " -----BEGIN CERTIFICATE-----" দিয়ে শুরু হয় । এগুলি একই ডেটা এনকোড করে তবে বিভিন্ন উপায়ে। বেশিরভাগ সিস্টেমে উভয় ফর্ম্যাট গ্রহণ করে তবে আপনার যদি প্রয়োজন হয় তবে আপনি ওপেনএসএল বা অন্যান্য সরঞ্জামের মাধ্যমে অন্যকে রূপান্তর করতে পারেন। শংসাপত্রের ফাইলে থাকা এনকোডিংটি প্রকৃতপক্ষে স্বতন্ত্র which


আমার উপলব্ধি হ'ল এগুলি উভয়ই X.509 এনকোডিং। আপনি অন্যথায় বলবেন না, তবে উপরে x.509 এর অসম্পূর্ণ ব্যবহার পাঠকের কাছে অন্যথায় প্রস্তাব দিতে পারে। পাঠকের কাছে, এটি লক্ষ করার মতো যে শংসাপত্রগুলি এই 2 টি এনকোডিংয়ের মধ্যে পিছনে পিছনে রূপান্তর করা যায়, কারণ এই উত্তরের হিসাবে উল্লেখ করা হয়েছে, তারা একই তথ্য রাখে। ওপেনএসএল x509- ইনফর্ম কমান্ডের সাথে অন্য উত্তরটি দেখুন।
ফ্রি টেক্সট

55

ডকুমেন্টেশন মোড_এসএল অনুসারে :

SSLCertificateFile: 
   Name: SSLCertificateFile
   Description: Server PEM-encoded X.509 certificate file

শংসাপত্র ফাইলটি PEM- এনকোডড X.509 শংসাপত্র ফাইল হওয়া উচিত:

openssl x509 -inform DER -in certificate.cer -out certificate.pem

এটি কি এসএসএল শংসাপত্রের ত্রুটিগুলি সমাধান করবে, যখন পিছনে zscaler, ( ) চলমান vagrantথাকবে , আমাদের বিশ্বাসযোগ্য রুট সার্টগুলি ভিজাগ্র বাক্সে ইনস্টল করে? আমি সেগুলি করছি, তারপরে আপনার রূপান্তরটি ব্যবহার করেছি এবং সেগুলিতে সংযুক্ত করেছি এবং পুনঃনির্ধারণের আগে ফাইলগুলিতে সামগ্রীগুলি অনুলিপি করেছি এবং দেব বাক্সে ত্রুটি পেয়েছি getting winvbox homesteadscp/etc/ssl/certsca-certificates.crtgoogle-recaptcha tls sslfile_get_contents
ব্লেম

54

মূলত দুটি সিইআর শংসাপত্র এনকোডিং প্রকার, ডিইআর এবং বেস 64 রয়েছে। যখন DER টাইপ করে ত্রুটি লোড করার শংসাপত্র (asn1 এনকোডিং রুটিনগুলি) ফেরত দেয়, পিইএম চেষ্টা করে দেখুন এটি কার্যকর হবে।

openssl x509 -inform DER -in certificate.cer -out certificate.crt

openssl x509 -inform PEM -in certificate.cer -out certificate.crt


3
DER ফর্ম্যাটটি আমার জন্য কাজ করেছিল যখন আমার এডিআর ফাইলটি বাইনারি হিসাবে দেখায় যখন আমি এটি সম্পাদনা করার চেষ্টা করেছি ... ধন্যবাদ!
ব্র্যাড পার্কগুলি

1
পাঠকের কাছে আমি ওপেনসেল ম্যান পৃষ্ঠাটি দরকারী বলে মনে করি। কমান্ডগুলির মধ্যে কোনটি কোনটি করেছিল (অর্থাত্ কোন রূপান্তরটি ছিল) তা আমার কাছে অস্পষ্ট ছিল। ইনফরমেশন প্যারামিটার ইনপুট-ইন ফাইলটির ফর্ম্যাট নির্দিষ্ট করে যা স্বজ্ঞাত, তবে আপনি যদি ইতিমধ্যে কিছুটা বিভ্রান্ত হন তবে সুস্পষ্টভাবে জানা ভাল to দেখুন openssl.org/docs/manmaster/man1/openssl-x509.html
FreeText

32

আমি ধরে নিয়েছি যে আপনার কাছে একটি পিসিসিএস # 7-এনকোডেড শংসাপত্রের ডেটা রয়েছে এমন ফাইল রয়েছে এবং আপনি এটি পিইএম-এনকোডেড শংসাপত্রের ডেটাতে (সাধারণত একটি .crt বা .pem ফাইল) রূপান্তর করতে চান। উদাহরণস্বরূপ, পিকেসিএস # 7-এনকোডড ডেটাযুক্ত একটি .cer ফাইলটি দেখতে এই জাতীয় দেখাচ্ছে:

----- শুরু করুন পিকেসিএস 7 -----
MIIW4gYJKoZIhvcNAQcCoIIW0zCCFs8CAQExADALBgkqhkiG9w0BBwGggha1MIIH
...
POI9n9cd2cNgQ4xYDiKWL2KjLB + + 6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G
+ + bKhADEA
----- শেষ পিকেসিএস 7 -----

পিইএম শংসাপত্রের ডেটা দেখতে এমন দেখাচ্ছে:

----- শুরু করুন শংসাপত্র -----
MIIHNjCCBh6gAwIBAgIQAlBxtqKazsxUSR9QdWWxaDANBgkqhkiG9w0BAQUFADBm
...
nv72c / OV4nlyrvBLPoaS5JFUJvFUG8RfAEY =
----- শেষ সার্টিফিকেট -----

একটি ওপেনএসএসএল কমান্ড রয়েছে যা .cer ফাইলগুলিকে (পিকেসিএস # 7 ডেটা সহ) আপনি যেই পিএম তথ্য প্রত্যাশা করতে পারেন তা রূপান্তরিত করবে ( BEGIN CERTIFICATEউপরের উদাহরণের ব্লক)। আমরা পিডিসিএস # 7 ডেটা পিএমইমে ফর্ম্যাটে জোর করে কোনও ফাইলের মাধ্যমে এই কমান্ডটি দিয়ে আমরা সার্টিফিল.সেসর কল করব:

openssl pkcs7 -text -in certfile.cer -print_certs -outform PEM -out certfile.pem

নোট করুন যে .cer বা .pem ফাইলটিতে এক বা একাধিক শংসাপত্র থাকতে পারে (সম্ভবত পুরো শংসাপত্র শৃঙ্খলা)।


1
আপনার যদি এই অনুমানের উত্স থাকে তবে সুবিধাজনক হবে। আমি মনে করি লোকেরা (সম্ভবত ভুলভাবে) .cer, .crt, .pem বিনিময়যোগ্যভাবে ব্যবহার করে) তাই সত্যের উত্স থাকলে ভুল ধারণাটি সংশোধন হবে।
ফিল্ট

30

বাইনারি আকারে সিইআর একটি X.509 শংসাপত্র, DER এনকোডড।
সিআরটি হ'ল বাইনারি এক্স.509 শংসাপত্র, পাঠ্যে ( বেস-base৪ ) এনকোডিংয়ে এনক্যাপসুলেটেড ।

এটি একই এনকোডিং নয়।


13
এই উত্তরটি ঠিক ভুল। .CER এবং .CRT উভয়ই DER বা PEM (পাঠ্য) এনকোডিং ব্যবহার করতে পারে। এক্সটেনশন .pem এবং .der এনকোডিং প্রতিফলিত করে, .cer এবং .crt না। আরও বিশদ
eis

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

16

.Cer ফাইলকে কীভাবে একটি .crt ফাইলে রূপান্তর করা যায় সে প্রশ্নের উত্তর (এগুলি আলাদাভাবে এনকোড করা হয়!):

openssl pkcs7 -print_certs -in certificate.cer -out certificate.crt

5
এটি আমার পক্ষে কাজ করেনি! আমি ব্যবহার করেছি:openssl x509 -inform der -in certificate.cer -out certificate.pem
sj59

আমি এই ত্রুটি বার্তাটি unable to load PKCS7 object
পাচ্ছি

আপনি কি এই উত্তরটি পরীক্ষা করে দেখেছেন? serverfault.com/questions/417140/…
আলেকজান্ডার প্রেসার

আমার পজিটিভ এসএসএল শংসাপত্রটি অ্যাজুরে ব্যবহারের জন্য পিকেসিএস 12 তে রূপান্তরিত করার জন্য প্রস্তুত হওয়ার জন্য আমাকে এটাই করতে হয়েছিল।
ওয়েন

16

আমি আদেশ ব্যবহার করি:

openssl x509 -inform PEM -in certificate.cer -out certificate.crt

তবে সিইআর একটি বাইনারি ফর্মের একটি X.509 শংসাপত্র, DER এনকোডড। সিআরটি হ'ল বাইনারি এক্স.509 শংসাপত্র, পাঠ্যে (বেস-base৪) এনকোডিংয়ে এনক্যাপসুলেটেড।

যে কারণে আপনার ব্যবহার করা উচিত:

openssl x509 -inform DER -in certificate.cer -out certificate.crt

এবং তারপরে আপনার শংসাপত্রটি আমদানি করতে:

আপনার সিএ অনুলিপি করুন দির:

/usr/local/share/ca-certificates/

কমান্ড ব্যবহার করুন:

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

সিএ স্টোরটি আপডেট করুন:

sudo update-ca-certificates


5

যদি আপনার এসইআর ফাইলের বাইনারি ফর্ম্যাট থাকে তবে আপনাকে অবশ্যই এটিকে রূপান্তর করতে হবে

openssl x509 -inform DER -in YOUR_CERTIFICATE.cer -out YOUR_CERTIFICATE.crt

3

.Cer এবং .crt ফাইলটি কী-স্টোরে আমদানি করা যায় যতক্ষণ না তাদের মধ্যে পারস্পরিক পরিবর্তনযোগ্য হওয়া উচিত।

.Cer ফাইলের বিষয়বস্তু একবার দেখুন। -----BEGIN CERTIFICATE-----লাইনের আগে এবং লাইনের পরে যে কোনও কিছু মুছুন -----END CERTIFICATE-----। আপনি তাদের মাঝে বেস 64-এনকোডযুক্ত স্টাফগুলির একটি গোছা সহ BEGIN / END লাইনগুলি রেখে যাবেন।

-----BEGIN CERTIFICATE-----
MIIDQTCCAqqgAwIBAgIJALQea21f1bVjMA0GCSqGSIb3DQEBBQUAMIG1MQswCQYD
...
pfDACIDHTrwCk5OefMwArfEkSBo/
-----END CERTIFICATE-----

তারপরে কীটোল ব্যবহার করে এটি আপনার কীফায়লে আমদানি করুন।

keytool -import -alias myalias -keystore my.keystore -trustcacerts -file mycert.cer

যে জিনিসটি আমাকে সহায়তা করেছিল তা হ'ল আপনার বেস -৪৪ এনকোডিংয়ের মন্তব্য। একটি সাধারণ সার্ট স্পষ্টতই বিশেষ এনকোডিং এবং সাধারণ পাঠ্য পাঠযোগ্য নয়। ধন্যবাদ।
ডিআরপ্প

-2

শুধু কর

openssl x509 -req -days 365 -in server.cer -signkey server.key -out server.crt

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