दिलचस्प पोस्ट
नियमित कॉस्ट बनाम स्टेटिक_कास्ट बनाम गतिशील_कास्ट थ्रेड में वेबब्रोअर नियंत्रण का स्क्रीन-स्कैप करें Std :: cin से एक पासवर्ड पढ़ना हमेशा दो दशमलव स्थानों को प्रदर्शित करने के लिए फ़ॉर्मेट संख्या Node.js में SQL इंजेक्शन की रोकथाम एंड्रॉइड – सभी उपलब्ध इरादे फ़िल्टर की सूची कैसे प्राप्त करें? STD :: आगे कैसे काम करता है? लिनक्स में स्थानीय फ़ंक्शन कॉल्स का पता लगाने के लिए उपकरण निरंतर विफलता के साथ चर की बैच फ़ाइल तुलना सेट इन्टेरॉल के पायथन समरूप ()? SSL में उपयोग करने के लिए जावा कीस्टोर में मौजूदा x509 प्रमाणपत्र और निजी कुंजी को कैसे आयात करें? मैं कैसे एक keystore बना सकते हैं? लिनक्स सेवा / डेमन के रूप में पायथन स्क्रिप्ट क्या जावा वास्तव में संकेत करता है या नहीं? मैं कैसे बता सकता हूं कि मेरी प्रक्रिया प्रशासक के रूप में चल रही है?

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

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

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

  • .crt
  • server.csr
  • server.key

वेब के समाधान से एकत्रित समाधान ".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

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