मैं ओपनएसएसएल को कॉन्फ़िगर करना चाहता हूं, जब openssl req -new
एक नया प्रमाणपत्र हस्ताक्षर अनुरोध उत्पन्न करने के लिए चल रहा है, तो मुझे सीएसआर पर शामिल करने के लिए किसी भी वैकल्पिक विषय नामों के लिए प्रेरित किया गया है।
मैंने इस लाइन को अपने [req_attributes]
सेक्शन में जोड़ा है openssl.cnf
:
subjectAltName = Alternative subject names
यह वांछित प्रभाव है कि मैं अब CSR उत्पन्न करते समय SAN के लिए प्रेरित हूँ:
$ openssl req -new -out test.csr -key ./test.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) [US]:
State or Province Name (full name) [New York]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Example Co]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:test.example.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Alternative subject names []:DNS:alt1.example.com
उपरोक्त उदाहरण में, मैंने DNS:alt1.example.com
SAN के लिए संकेत दिए जाने पर प्रवेश किया है ।
समस्या यह है कि परिणामी CSR अच्छी तरह से स्वरूपित नहीं होता है:
$ openssl req -text -in ./test.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=US, ST=New York, O=The Banes, CN=test.thebanes.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
[...]
Exponent: 65537 (0x10001)
Attributes:
X509v3 Subject Alternative Name:unable to print attribute
ओपनएसएसएल की शिकायत है कि यह विषय वैकल्पिक नाम विशेषता के मूल्य को प्रिंट करने में असमर्थ है। ऑनलाइन उदाहरणों से (जहां लोग अपने ओपनएसएल.एनएफ में एसएएन को हार्ड-कोड करते हैं, बजाय इसके कि मैं उनके लिए अंतःक्रियात्मक रूप से संकेत देना चाहता हूं), मैं इसके बजाय इसे देखने की उम्मीद करता हूं:
Attributes:
X509v3 Subject Alternative Name:
DNS:alt1.example.com
तो, मैं संवादात्मक रूप से संकेतित SAN के साथ एक अच्छी तरह से गठित CSR कैसे उत्पन्न कर सकता हूं?
openssl
- आपको एक ऐसी स्क्रिप्ट की आवश्यकता होगी जो इसके लिए अपनी कॉन्फ़िगर फ़ाइल को मंगा ले। :( PS एक गैर-संवादात्मक तरीके से ऐसा करने का एक सिद्ध समाधान यहां है: stackoverflow.com/a/9158662/2693875