मैं एक सीएसआर बना रहा हूं जो मेरे सर्वर द्वारा संसाधित किया जा रहा है। इसे subjectNameAlt सेट करने की आवश्यकता है ताकि सर्वर इसे संसाधित कर सके। मैंने दूर-दराज की खोज की है, और केवल यह पाया है कि इसे सामान्य X509 certs के साथ कैसे किया जाए, X509_REQ नहीं। मैं यह कैसे कर सकता हूं (सी और ओपनएसएसएल के साथ। मुझे X509_get_ext_d2i
के समतुल्य की आवश्यकता है लेकिन X509_REQ
के लिए)?आप X509_REQ पर topicNameAlt एक्सटेंशन कैसे जोड़ते हैं?
7
A
उत्तर
10
प्रोग्राम
demos/x509/mkreq.c
फ़ाइल वाले OpenSSL के साथ आता है पर एक नज़र डालें। यह एक अनुरोध बनाता है और वैकल्पिक नाम के रूप में एक ईमेल पता जोड़ता है। नीचे छीन यह करता है निम्नलिखित:
exts = sk_X509_EXTENSION_new_null();
add_ext(exts, NID_subject_alt_name, "email:[email protected]");
X509_REQ_add_extensions(x, exts);
sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
add_ext
इस तरह कार्यान्वित किया जाता है:
int add_ext(STACK_OF(X509_EXTENSION) *sk, int nid, char *value) {
X509_EXTENSION *ex;
ex = X509V3_EXT_conf_nid(NULL, NULL, nid, value);
if (!ex)
return 0;
sk_X509_EXTENSION_push(sk, ex);
return 1;
}
कमांड लाइन
मैं दूसरों के लिए जगह में इस खंड को छोड़ से, हालांकि ओपी एक अनुरोध किया एपीआई।
https://wiki.cacert.org/FAQ/subjectAltName इस तरह एक अस्थायी openssl-san.cnf
फाइल करने के लिए openssl.cnf
फ़ाइल की प्रतिलिपि और फिर संपादित करने के लिए है कि सलाह देते हैं:
[req]
req_extensions = v3_req
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = host1.yourdomain.tld
DNS.2 = host2.yourdomain.tld
संबंधित मुद्दे
- 1. आप फ़िल्टर स्थितियों को कैसे जोड़ते हैं
- 2. आप जॉबजेक्ट में जेटीकेन कैसे जोड़ते हैं?
- 3. आप दो गिट रेपो कैसे जोड़ते हैं?
- 4. आप एक्सकोड में ब्रेकपॉइंट कैसे जोड़ते हैं?
- 5. आप ggplot2 grobs को डेटा पर वापस कैसे जोड़ते हैं?
- 6. एसएसआरएस में आप कई परिणाम सेट कैसे जोड़ते हैं?
- 7. एंड्रॉइड स्टूडियो में आप एसडीके कैसे जोड़ते हैं?
- 8. वर्डप्रेस.com होस्टेड ब्लॉग में आप जावास्क्रिप्ट विजेट कैसे जोड़ते हैं?
- 9. प्रोग्रामिंग के रूप में आप असेंबली संदर्भ कैसे जोड़ते हैं?
- 10. प्लॉट्स.जेएल प्लॉट की किंवदंती में आप मार्कर कैसे जोड़ते हैं?
- 11. आप एक पत्रक मार्कर में कक्षा कैसे जोड़ते हैं?
- 12. आप डेटा टास्क WithUrl में शीर्षलेख कैसे जोड़ते हैं?
- 13. सी ++ में स्ट्रिंग के लिए आप int कैसे जोड़ते हैं?
- 14. आप बहु थ्रेडेड समर्थन के लिए परीक्षण कैसे जोड़ते हैं?
- 15. आप Meteor.users संग्रह में परिवर्तन कैसे जोड़ते हैं?
- 16. आप जावास्क्रिप्ट में दो ऑब्जेक्ट्स को कैसे जोड़ते हैं?
- 17. आप सीएसएस को जेड फाइल से कैसे जोड़ते हैं?
- 18. आप scala.xml के साथ xml दस्तावेज़ जानकारी कैसे जोड़ते हैं?
- 19. आप अपने vimrc में NERDTree कैसे जोड़ते हैं?
- 20. आप एक्सएमएल को एक्सएसडी से कैसे जोड़ते हैं?
- 21. आप रेल बीजों.आरबी फ़ाइल में जॉइन जानकारी कैसे जोड़ते हैं?
- 22. आप रेक आंकड़ों में फ़ोल्डर कैसे जोड़ते हैं?
- 23. आप दो wchar_t * को एक साथ कैसे जोड़ते हैं?
- 24. आप जेसन आईएएम नीति में कोई टिप्पणी कैसे जोड़ते हैं?
- 25. आप मेनू आइटम में रेडियो बटन कैसे जोड़ते हैं?
- 26. आप यमन प्रोजेक्ट में ब्राउज़र को कैसे जोड़ते हैं?
- 27. कैपिस्ट्रानो कार्य में आप कुछ कदम कैसे जोड़ते हैं?
- 28. एक्सकोड 4: आप मौजूदा ढांचे को कैसे जोड़ते हैं?
- 29. आप mysql प्रश्नों पर टिप्पणियां कैसे जोड़ते हैं, इसलिए वे लॉग में दिखाते हैं?
- 30. रेल पर रूबी: आप एक link_to सहायक में कक्षा कैसे जोड़ते हैं?
मैं खोल या फाइल सिस्टम के माध्यम से नहीं ग के माध्यम से ऐसा करने के लिए, चाहते हैं। – chacham15
बहुत बढ़िया! मैं इसे घंटों के लिए देख रहा हूं! – chacham15
प्रोग्रामिंग के माध्यम से हम [alt_names] जैसे बहुविकल्पीय एक्सटेंशन को कैसे जोड़ सकते हैं? – karim