दिलचस्प पोस्ट
क्या एक सामान्य बाधा है जो मैं + ऑपरेटर के लिए इस्तेमाल कर सकता हूं? सफ़ारी: डीओवी के माध्यम से अद्यतन होने पर डीआईवी बिल्कुल नहीं चल रहा है UIPageViewController में बाउंस प्रभाव अक्षम करें JSON सरणी को प्रकार में डिसेरीलाइज़ नहीं कर सकता- जेसन.नेट कैसे हल करने के लिए "रूबी स्थापना मनोवैज्ञानिक गायब है" त्रुटि? पीडीएफ.जेएस और दर्शक। जेएस दर्शक को एक स्ट्रीम या ब्लॉब पास करें IIT 7 के तहत UITableViewCell में बटन का जवाब नहीं है पूर्णांक ब्लूज़ का सारांश, छोटी + = छोटी समस्या मैं प्रत्येक उपयोगकर्ता को अपने डेटा को फ़ायरबसे में कैसे जोड़ूं? जावास्क्रिप्ट में चेनेबल फ़ंक्शन कैसे बनाइए? जावा / जेएएएसबी: एक विशेषता पर आधारित विशिष्ट उप-वर्ग के लिए यूनमरशॉल एक्सएमएल जांचें कि क्या कोई सरणी खाली है HTML5 केनवास से बाइनरी (बेस 64) डेटा प्राप्त करना (readAsBinaryString) लोकेल प्रोग्रामेटिक रूप से सेट करें कैसे एक हॅशमैप या एक HashTable में जावा आदेश आइटम करता है?

.key और .crt फ़ाइलों से .pem फ़ाइल कैसे प्राप्त करें?

मैं एक SSL प्रमाणपत्र से एक पीईएम फ़ाइल कैसे बना सकता हूं?

ये फ़ाइलें हैं जो मेरे पास उपलब्ध हैं:

  • .crt
  • server.csr
  • server.key

Solutions Collecting From Web of ".key और .crt फ़ाइलों से .pem फ़ाइल कैसे प्राप्त करें?"

आपकी चाबियाँ पहले से ही PEM प्रारूप में हो सकती हैं, लेकिन केवल .crt या .key नाम के साथ।

अगर फाइल की सामग्री शुरू होती है -----BEGIN और आप इसे एक टेक्स्ट एडिटर में पढ़ सकते हैं:

फ़ाइल बेस 64 का उपयोग करती है, जो एएससीआईआई में पठनीय है, बाइनरी प्रारूप नहीं है। प्रमाणपत्र पहले से ही PEM प्रारूप में है बस .pem को एक्सटेंशन बदलें।

यदि फ़ाइल बाइनरी में है:

Server.crt के लिए, आप उपयोग करेंगे

 openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem 

Server.key के लिए, openssl x509 स्थान पर openssl x509 openssl rsa उपयोग करें

Server.key की संभावना आपकी निजी कुंजी है, और .crt फ़ाइल लौटा, हस्ताक्षरित, x509 प्रमाण पत्र है।

यदि यह एक वेब सर्वर के लिए है और आप एक अलग निजी और सार्वजनिक कुंजी को लोड नहीं कर सकते हैं:

आपको दो फ़ाइलों को जोड़ना पड़ सकता है इस प्रयोग के लिए:

 cat server.crt server.key > server.includesprivatekey.pem 

मैं इस फ़ाइल के साथ रखने वाली अनुमतियों को प्रबंधित करने में आपकी सहायता करने के लिए "includeprivatekey" के साथ फ़ाइलों को नाम देने की सिफारिश करता हूं

मुझे एडब्ल्यूएस ईएलबी के लिए ऐसा करने की आवश्यकता थी संवाद द्वारा कई बार पीटा जाने के बाद, अंत में यह मेरे लिए क्या काम है:

 openssl rsa -in server.key -text > private.pem openssl x509 -inform PEM -in server.crt > public.pem 

धन्यवाद एनसीजेड

संपादित करें: जैसा कि @ फ्लोटिंगरॉक कहते हैं

एडब्ल्यूएस के साथ, file:// के नाम को file:// साथ भरने के लिए मत भूलें file:// तो यह ऐसा दिखेगा:

  aws iam upload-server-certificate --server-certificate-name blah --certificate-body file://path/to/server.crt --private-key file://path/to/private.key --path /cloudfront/static/ 

http://docs.aws.amazon.com/cli/latest/reference/iam/upload-server-certificate.html

एक pem फ़ाइल में प्रमाण पत्र और निजी कुंजी शामिल है यह प्रारूप आपके प्रमाणपत्र / कुंजी में है पर निर्भर करता है, लेकिन शायद यह उतना आसान है जैसे:

 cat server.crt server.key > server.pem 

इसके अतिरिक्त, यदि आप इसे पासफ़्रेज़ के लिए नहीं पूछना चाहते हैं, तो निम्न कमांड चलाने की आवश्यकता है:

 openssl rsa -in server.key -out server.key 

यह .pem फ़ाइल बनाने का सबसे अच्छा विकल्प है

 openssl pkcs12 -in MyPushApp.p12 -out MyPushApp.pem -nodes -clcerts 

मैंने जो देखा है वह है: अगर आप प्रमाणपत्र खोलने के लिए openssl का उपयोग करते हैं, तो यह दोनों पाठ भाग और सीआरटी फ़ाइल में base64 प्रमाणपत्र भाग को कैप्चर करता है। सख्त पैम प्रारूप में ( विकी परिभाषा ) का अर्थ है कि फाइल BEGIN और END के साथ शुरू होनी चाहिए।

.pem – (गोपनीयता बढ़ी मेल) बेस 64 एन्कोडेड डीईआर प्रमाण पत्र, "—– BEGIN सर्टिफिकेट —–" और "—– एंड सर्टिफिकेट —–"

इसलिए कुछ पुस्तकालयों (मैं जावा में इसका सामना करना पड़ा) के लिए सख्त पीम प्रारूप की उम्मीद है, जनित CRT एक 'अवैध पेम प्रारूप' के रूप में मान्यता को विफल करेगा।

यहां तक ​​कि अगर आप BEGIN / END सर्टिफिकेट के साथ लाइन को प्रतिलिपि या grep, और एक cert.pem फ़ाइल में चिपकाएँ, यह काम करना चाहिए

यहाँ मैं जो करता हूं, बहुत साफ नहीं है, लेकिन मेरे लिए काम करता है, मूल रूप से यह टेक्स्ट को BEGIN लाइन से शुरू करता है:

grep-A 1000 BEGIN cert.crt> cert.pem

मैं गॉडडि से ऐप इंजिन तक जाने की कोशिश कर रहा था। चाल क्या इस लाइन का उपयोग कर रहा था:

 openssl req -new -newkey rsa:2048 -nodes -keyout name.unencrypted.priv.key -out name.csr 

ठीक है, लेकिन मेरे डोमेन नाम के साथ नाम की जगह (यह सच नहीं है कि यह मायने रखता है)

और मैंने सामान्य नाम / संगठन से संबंधित सभी प्रश्नों को http://www.name.com के रूप में उत्तर दिया

फिर मैंने सीएसआर खोला, इसे कॉपी किया, इसे चले गए पिता को चिपका दिया, फिर इसे डाउनलोड किया, इसे खोल दिया गया, टर्मिनल के साथ अनझिप किए गए फ़ोल्डर में नेविगेट किया और दर्ज किया गया:

 cat otherfilegodaddygivesyou.crt gd_bundle-g2-g1.crt > name.crt 

फिर मैंने Google Apps कस्टम डोमेन SSL के साथ समस्या से इन निर्देशों का उपयोग किया, जो थे:

 openssl rsa -in privateKey.key -text > private.pem openssl x509 -inform PEM -in www_mydomain_com.crt > public.pem 

ठीक उसी तरह है, निजी कि.ए.आई. के बदले मैं। नाम का इस्तेमाल किया था, और www_mydomain_com.crt के बजाय, मैं name.crt

इसके बाद मैंने "PEM इनकोडेड X.50 9 प्रमाण पत्र" के लिए व्यवस्थापक कंसोल पर public.pem को अपलोड किया, और "अनएन्क्रिप्टेड पीईएम एन्कोडेड आरएसए निजी कुंजी" के लिए निजीपैम को अपलोड किया ..

..और अंत में काम किया

AWS को एक GoDaddy प्रमाण पत्र अपलोड करने की कोशिश में मैं कई बार विफल रहा, लेकिन अंत में यह बहुत आसान था। किसी भी चीज़ को .pem में परिवर्तित करने की आवश्यकता नहीं है आपको चेन पैरामीटर में GoDaddy बंडल प्रमाणपत्र को शामिल करना है, उदाहरण के लिए

 aws iam upload-server-certificate --server-certificate-name mycert --certificate-body file://try2/40271b1b25236fd1.crt --private-key file://server.key --path /cloudfront/production/ --certificate-chain file://try2/gdig2_bundle.crt 

और अपने पिछले असफल अपलोड को हटाने के लिए जो आप कर सकते हैं

 aws iam delete-server-certificate --server-certificate-name mypreviouscert 
  1. AppleId द्वारा अनंतिम पोर्टल से प्रमाणपत्र डाउनलोड करें,
  2. कुंजी श्रृंखला से प्रमाणपत्र निर्यात करें और नाम दें (सर्टिफिकेट .12)
  3. ओपन टर्मिनल और गोटो फ़ोल्डर जहाँ आप सर्टिफिकेट्स.p12 फ़ाइल से ऊपर सहेजते हैं,
  4. नीचे दिए गए आदेशों को चलाएं:

    a) openssl pkcs12 -in Certificates.p12 -out CertificateName.pem -nodes , openssl pkcs12 -in Certificates.p12 -out CertificateName.pem -nodes ,

    बी) openssl pkcs12 -in Certificates.p12 -out pushcert.pem -nodes -clcerts

  5. आपका .pem फ़ाइल तैयार है "pushcert.pem"
  • ओपन टर्मिनल
  • उस फ़ोल्डर पर जाएं जहां आपका प्रमाणपत्र स्थित है
  • अपने प्रमाण पत्र के साथ नाम बदलकर कमांड को नीचे चलाएं।

openssl pkcs12 -इन YOUR_CERTIFICATE.p12 -आप के लिए आपका YOUR_CERTIFICATE.pem -nodes -clcerts

  • आशा है कि यह काम करेगा !!