सवाल पास वाक्यांश के बिना आरएसए कुंजी उत्पन्न करना संभव है?


मैं एक रेल परियोजना के लिए अपाचे 2 और पैसेंजर के साथ काम कर रहा हूं। मैं एक स्व-हस्ताक्षर बनाना चाहता हूं एसएसएल प्रमाणपत्र परीक्षण उद्देश्यों के लिए।

sudo openssl rsa -des3 -in server.key -out server.key.new

जब मैं उपरोक्त आदेश दर्ज करता हूं, तो यह कहता है

writing RSA key
Enter PEM pass phrase:

अगर मैं पास वाक्यांश दर्ज नहीं करता हूं, तो मुझे नीचे त्रुटि मिल रही है

unable to write key
3079317228:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:Yo
u must type in 4 to 1024 characters
3079317228:error:0906406D:PEM routines:PEM_def_callback:problems getting passwor
d:pem_lib.c:111:
3079317228:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:pem_lib.c:382

बिना देने के आरएसए कुंजी उत्पन्न करना संभव है pass phrase, क्योंकि मुझे यकीन नहीं है कि कैसे /etc/init.d/httpd स्क्रिप्ट मानव हस्तक्षेप के बिना HTTP सर्वर शुरू करेगा (यानी अगर मैं 4 वर्ण पास वाक्यांश देता हूं, तो मुझे उम्मीद है कि अपाचे HTTP सर्वर शुरू करते समय मुझे यह प्रदान करना होगा)।


68
2018-03-05 06:28


मूल


आपकी कमांड लाइन बताती है openssl मौजूदा कुंजी एन्क्रिप्ट करने के लिए। यह आपके इच्छित चीज़ों के अलावा कुछ और लगता है। - David Schwartz
अपाचे httpd कर सकते हैं निजीकी पासफ्रेज (ओं) noninteractively प्राप्त करने के लिए कॉन्फ़िगर किया जाना चाहिए; mod_ssl के लिए दस्तावेज़ देखें, या प्रदान की गई / पैक की गई कॉन्फ़िगरेशन फ़ाइल में कई मामलों में टिप्पणियां देखें। हालांकि, यह आमतौर पर निजीकुंजी को अनएन्क्रिप्टेड छोड़ने से कहीं अधिक सुरक्षित नहीं है, जो कि आसान है। - dave_thompson_085


जवाब:


यदि आप स्वयं हस्ताक्षरित प्रमाणपत्र उत्पन्न कर रहे हैं, तो आप एक कमांड में कुंजी और प्रमाण दोनों को ऐसा कर सकते हैं:

openssl req  -nodes -new -x509  -keyout server.key -out server.cert

ओह, और @MadHatter क्या कहा उसका जवाब छोड़ने के बारे में -des3 झंडा।


76
2018-03-05 06:55



नोड्स निर्देश यह है कि मैं यहाँ क्यों हूं। (निजी कुंजी का कोई डीईएस एन्क्रिप्शन नहीं) - jorfus


छोड़ दो -des3 ध्वज, जो server.key.new को एन्क्रिप्ट करने के लिए openssl के लिए एक निर्देश है (जो, आकस्मिक रूप से, बिल्कुल एक नई कुंजी नहीं है - यह बिल्कुल server.key जैसा ही है, केवल पासफ्रेज बदल गया / छीन लिया गया है)।


35
2018-03-05 06:49





openssl req से आदेश @ टोम एच द्वारा जवाब एक स्व-हस्ताक्षरित प्रमाणपत्र बनाने के लिए सही है server.cert incl। एक पासवर्ड कम आरएसए निजी कुंजी में server.key:

openssl req -nodes -new -x509 -keyout server.key -out server.cert

यहाँ दिया गया है कि यह कैसे काम करता है। छोड़ना -des3 के रूप में @MadHatter द्वारा जवाब पासफ्रेज़ के बिना एक निजी कुंजी बनाने के लिए इस मामले में पर्याप्त नहीं है। यह है इस उद्देश्य के लिए पर्याप्त है openssl rsa ("एक निजी कुंजी कन्वर्ट करें") कमांड @MadHatter और द्वारा संदर्भित openssl genrsa ("एक निजी कुंजी बनाएं") कमांड। बस के लिए नहीं openssl req यहाँ आदेश हमें अतिरिक्त आवश्यकता है -nodes ("कोई डीईएस एन्क्रिप्शन नहीं server.key कृप्या!")।


19
2018-02-09 00:25





उपयोग -nodes पैरामीटर, यदि यह विकल्प निर्दिष्ट है तो निजी कुंजी एन्क्रिप्ट नहीं की जाएगी, उदा .:

openssl \
    req \
    -nodes \
    -newkey rsa:2048 \
    -keyout www.example.com.key \
    -out www.example.com.csr \
    -subj "/C=DE/ST=NRW/L=Berlin/O=My Inc/OU=DevOps/CN=www.example.com/emailAddress=dev@www.example.com"

7
2018-05-12 14:42





इसे openssl के माध्यम से फिर से चलाएं

पहले पासफ्रेज के साथ कुंजी उत्पन्न करें

फिर openssl rsa -in server.key -out server.key


6
2018-01-26 15:37



यह उबंटू 16.04 पर काम नहीं कर रहा है - sweetfa
मैंने डाउनवॉटेड किया क्योंकि यह जवाब नहीं पूछा गया था, कमांड को इनपुट की आवश्यकता होती है और एक कुंजी उत्पन्न नहीं करती है। - Don
उपयोगकर्ता ने पहले से ही दिखाया है कि वे एक कुंजी उत्पन्न करने के बारे में जानते हैं। यह उत्तर उस ज्ञान पर बनाता है, और मैं नई जेनरेट की गई कुंजी लेने और इसे फिर से पास करने का सुझाव देता हूं openssl   इसलिए पूछा गया था कि लक्ष्य के लक्ष्य को प्राप्त करना: पास वाक्यांश के बिना एक कुंजी उत्पन्न करना। - darethas
मेरे लिये कार्य करता है, openssl गिटबाश से विंडोज 10 पर। जानकारी के लिए धन्यवाद। - Green


पासवर्ड-कम निजी कुंजी फ़ाइल जेनरेट करने के लिए अगली कमांड का उपयोग करें कोई एन्क्रिप्शन नहीं। अंतिम पैरामीटर निजी कुंजी का आकार है।

openssl genrsa -out my-passless-private.key 4096

0
2018-04-25 11:17



यह पासवर्ड कम नहीं है। यह पूरी तरह से और पूरी तरह से पासवर्ड भरा है। - dave_thompson_085
मैं पैरामीटर की स्थिति के साथ प्रयोग कर रहा था। यह अब ठीक है। मैंने पिछले दो पैरामीटर के स्थानों को बदल दिया और कमांड का परीक्षण किया। - nix
अब यह एक पैदा करता है एन्क्रिप्ट नहीं किए गए फ़ाइल। विकल्प (केवल) स्थितित्मक तर्क के बाद अनदेखा किया जाता है। फ़ाइल को देखो; यह एन्क्रिप्टेड नहीं है। बदलने के 4096 -des3 साथ में 4096 -sillywombat और यह अभी भी एक ही प्रारूप का काम करता है और उत्पादन करता है, अभी भी अनएन्क्रिप्टेड (लेकिन पाठ्यक्रम का एक अलग महत्वपूर्ण मूल्य)। पासवर्ड रहित एन्क्रिप्टेड निजीकी फ़ाइल रखने का कोई तरीका नहीं है, और एक पासवर्ड रहित अनएन्क्रिप्टेड फ़ाइल के लिए सही समाधान छह साल पहले दिए गए थे। - dave_thompson_085
तुम सही हो। @ Dave_thompson_085। अंतिम पैरामीटर कमांड पर कोई प्रभाव नहीं डालता है। मैंने अपना जवाब अपडेट किया। यह एन्क्रिप्टेड बेस 64 एन्कोडेड उत्पन्न नहीं करता है और पासवर्ड सुरक्षित निजी कुंजी फ़ाइल नहीं बनाता है। - nix