एसएसएल प्रमाणपत्र अनुरोधों का गैर-संवादात्मक निर्माण


15

क्या प्रारंभिक कमांड पर सभी आवश्यक मापदंडों को निर्दिष्ट करके एसएसएल प्रमाणित अनुरोध बनाने का एक तरीका है? मैं एक CLI- आधारित वेब सर्वर नियंत्रण कक्ष लिख रहा हूं और यदि संभव हो तो निष्पादित करते समय मैं उम्मीद के उपयोग से बचना चाहूंगा openssl

यह एक प्रमाणित अनुरोध बनाने का एक विशिष्ट तरीका है:

$ openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout foobar.com.key -out foobar.com.csr
Generating a 2048 bit RSA private key
.................................................+++
........................................+++
writing new private key to 'foobar.com.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New Sweden
Locality Name (eg, city) []:Stockholm
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Scandanavian Ventures, Inc.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:foobar.com
Email Address []:gustav@foobar.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:FooBar

मैं इस तरह से कुछ देखने की उम्मीद कर रहा हूँ: (उदाहरण के लिए)

$ openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout foobar.com.key -out foobar.com.csr \
-Country US \
-State "New Sweden" \
-Locality Stockholm \
-Organization "Scandanavian Ventures, Inc." \
-CommonName  foobar.com \
-EmailAddress gustav@foobar.com \
-Company FooBar

ठीक मैन पेज के पास इस मामले पर कुछ भी कहने के लिए नहीं था, और न ही मैं Google के माध्यम से कुछ भी खोजने में सक्षम था। SSL सर्टिफिकेट रिक्वेस्ट जनरेशन एक इंटरेक्टिव प्रोसेस होनी चाहिए, या क्या किसी एक कमांड में सभी पैरामीटर निर्दिष्ट करने का कोई तरीका है?

यह एक डेबियन-व्युत्पन्न लिनक्स डिस्ट्रो रनिंग पर है openssl 1.0.1



@ceejayoz: बहुत अच्छा, धन्यवाद। א) कहाँ उन opensslझंडे प्रलेखित हैं? ב) आपने उसे खोजने के लिए क्या किया? धन्यवाद!
डॉटनकोहेन

1
मैंने "CSR स्क्रिप्ट तैयार किया" गुगली की। -subjपैरामीटर प्रलेखित है (विस्तार से जानकारी नहीं) पर openssl.org/docs/apps/req.html
ceejayoz

यह आमतौर पर कहा जाता है एक config फाइल बनाने के लिए भी संभव है openssl.cnf
सेबिक्स

जवाबों:


16

आपको दो भाग याद आ रहे हैं:

विषय पंक्ति, जिसे कहा जा सकता है

-subj "/C=US/ST=New Sweden/L=Stockholm /O=.../OU=.../CN=.../emailAddress=..."
  • प्रतिस्थापित करना ... मान के साथ, X=X509 कोड होना ( O rganisation / O rganisation U nit / etc ...)

पासवर्ड मूल्य, जिसे कहा जा सकता है

-passout pass:client11
-passin  pass:client11
  • जो आउटपुट / इनपुट पासवर्ड देता है

नई कुंजी के लिए मेरी कॉलिंग दिखती है

openssl genrsa -aes256 -out lib/client1.key -passout pass:client11 1024
openssl rsa -in lib/client1.key -passin pass:client11 -out lib/client1-nokey.key

openssl req -new -key lib/client1.key -subj req -new \
    -passin pass:client11 -out lib/client1.csr \
    -subj "/C=US/ST=New Sweden/L=Stockholm/O=.../OU=.../CN=.../emailAddress=..."

(अब जब मैं इसे देखता हूं, तो दो हैं -new...)


2

आधिकारिक डॉक्स-batch में वर्णित विकल्प के लिए जाँच करें ।


2
धन्यवाद। मैं देखता हूं कि बैच विकल्प मौजूद है, लेकिन इसका उपयोग कैसे किया जाए, इसकी कोई व्याख्या नहीं है।
१५:५५ पर

यह जवाब क्यों दिया गया? क्या समस्या का समाधान संभव नहीं है? नाम से, ऐसा लगता है कि यह सिर्फ हो सकता है।
डॉटंचोहेन '

यह निश्चित रूप से केवल-विकल्प के साथ ऐसा करने का एक तरीका है, क्यों मुझे कोई पता नहीं है। कथन "ठीक आदमी पृष्ठ में मामले पर कहने के लिए कुछ भी नहीं था", "-बैच" विकल्प के कारण गलत है।
बाहर निकालें

बैच का उल्लेख करने के लिए तैयार है, भले ही मैंने इसे समाधान में उपयोग नहीं किया, यह भविष्य में काम आ सकता है।
dotancohen

-1

मैं अपने नियमित ओप्सनल कमांड के लिए अपील करता हूं:

खुलता है

यह रेखा:

-subj "/C=PE/ST=Lima/L=Lima/O=Acme Inc. /OU=IT Department/CN=acme.com"

विवरण:

  • देश का नाम (2 अक्षर का कोड) [AU]: पीई
  • राज्य या प्रांत का नाम (पूरा नाम) [कुछ-राज्य]: लीमा
  • स्थानीयता नाम (जैसे, शहर) []: लीमा
  • संगठन का नाम (उदाहरण के लिए, कंपनी) [इंटरनेट विजेट्स लिमिटेड Pty]: एक्मे इंक।
  • संगठनात्मक इकाई का नाम (जैसे, अनुभाग) []: आईटी विभाग
  • सामान्य नाम (जैसे सर्वर FQDN या आपका नाम) []: acme.com

विभाजक की तरह "/" का प्रयोग करें।


1
ऐसा लगता है कि स्वीकृत उत्तर में पहले से ही यह जानकारी शामिल है। अन्यथा, धन्यवाद।
dotancohen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.