2013-06-17 5 views
26

में प्रमाणपत्र से सार्वजनिक कुंजी को कैसे सहेजना है I ampp फ़ाइल में अपनी सार्वजनिक कुंजी को संग्रहीत करने के लिए नीचे openssl कमांड का उपयोग कर रहा हूं।.pem प्रारूप

openssl> x509 -in E:/mycert.pem -pubkey -out E:/mypubkey.pem 

लेकिन जब मैं इस आदेश का उपयोग करने का प्रयास करें, यह mypubkey.pem फ़ाइल में पूरे प्रमाण पत्र की जानकारी भंडारण है।

मैंने देखा है मैं

openssl> x509 -pubkey -noout -in cert.pem > pubkey.pem 

उपयोग करते हुए मेरे सार्वजनिक कुंजी को बचा सकता है कि लेकिन यह एक त्रुटि फेंक रहा है। मैं ऑपरेटर का उपयोग नहीं कर सकता।

+0

स्टैक ओवरफ़्लो प्रोग्रामिंग और विकास प्रश्नों के लिए एक साइट है। यह प्रश्न ऑफ़-विषय प्रतीत होता है क्योंकि यह प्रोग्रामिंग या विकास के बारे में नहीं है। सहायता केंद्र में [मैं यहां कौन से विषय पूछ सकता हूं] (http://stackoverflow.com/help/on-topic) देखें। शायद [सुपर उपयोगकर्ता] (http://superuser.com/) या [यूनिक्स और लिनक्स स्टैक एक्सचेंज] (http://unix.stackexchange.com/) पूछने के लिए एक बेहतर जगह होगी। यह भी देखें [मैं देव ओप्स के बारे में प्रश्न कहां पोस्ट करूं?] (Http://meta.stackexchange.com/q/134306) – jww

उत्तर

74

ऐसा करने के कुछ तरीके हैं।

पहले, बजाय openssl कमांड प्रॉम्प्ट मोड में जाने की, सिर्फ एक कमांड लाइन पर सब कुछ विंडोज शीघ्र से दर्ज करें:

E:\> openssl x509 -pubkey -noout -in cert.pem > pubkey.pem 

किसी कारण से, आप openssl कमांड प्रॉम्प्ट का उपयोग करना है, तो बस में प्रवेश सब कुछ ">" तक। फिर ओपनएसएसएल स्क्रीन पर सार्वजनिक कुंजी जानकारी प्रिंट करेगा। फिर आप इसे कॉपी कर सकते हैं और इसे pubkey.pem नामक फ़ाइल में पेस्ट कर सकते हैं।

openssl> x509 -pubkey -noout -in cert.pem 

आउटपुट कुछ इस तरह दिखेगा:

-----BEGIN PUBLIC KEY----- 
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO 
3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX 
7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS 
j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd 
OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ 
5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl 
FQIDAQAB 
-----END PUBLIC KEY----- 
+0

उत्तर देने के लिए Ty। दूसरा दृष्टिकोण स्वीकार्य है। लेकिन मैं इसे कमांड प्रॉम्प्ट के माध्यम से सहेजना चाहता हूं। मेरे सिस्टम पर openssl स्थापित नहीं है। मैं opensl कमांड प्रॉम्प्ट चलाने के लिए सीधे बाइनरी का उपयोग कर रहा हूं। मैं जिस संस्करण का उपयोग कर रहा हूं वह openssl-0.9.8k_WIN32 है। इसलिए जब मैं विंडोज प्रॉम्प्ट में पहला कमांड चलाने की कोशिश करता हूं तो यह त्रुटि दिखा रहा है। – Ankit

+1

जब आप पहली कमांड चलाते हैं तो आप क्या त्रुटि देख रहे हैं? क्या आपको यहां openssl संस्करण मिला -> [https://code.google.com/p/openssl-for-windows/](https://code.google.com/p/openssl-for-windows/) या कहीं और? – gtrig

+0

हां मैं एक ही openssl संस्करण का उपयोग कर रहा हूँ। – Ankit

5

आप openssl इंटरैक्टिव प्रॉम्प्ट में > उपयोग नहीं कर सकते। इसके बजाय, फ़ाइल में आउटपुट लिखने के लिए -out तर्क का उपयोग करें। जैसे

openssl> x509 -pubkey -noout -in cert.pem -out pubkey.pem 
1

अगर यह होता है एक RSA कुंजी

openssl rsa -pubout -in my_rsa_key.pem 

अगर आप इसे अधिभारित के लिए एक प्रारूप में की जरूरत है, कृपया इसे देखें Use RSA private key to generate public key?

ध्यान दें कि सार्वजनिक कुंजी निजी कुंजी और ssh का उपयोग करता है से उत्पन्न होता है सर्वर को सार्वजनिक कुंजी उत्पन्न करने और भेजने के लिए पहचान फ़ाइल (निजी कुंजी फ़ाइल) और पहचान फ़ाइल में निजी कुंजी के माध्यम से सर्वर से एन्क्रिप्टेड टोकन को एन्क्रिप्ट करें।

संबंधित मुद्दे