क्या मैं एसएसएल सीएसआर का पुन: उपयोग कर सकता हूं?


21

मैंने एक नई वेब साइट के परीक्षण के लिए एक स्व प्रमाणित एसएसएल सर्टिफिकेट तैयार किया है। साइट को लाइव होने का समय आ गया है और मैं अब जियोट्रस्ट से एक प्रमाण पत्र खरीदना चाहता हूं। क्या मैं उसी CSR का उपयोग कर सकता हूं जो मैंने स्वप्रमाण पत्र के लिए उत्पन्न किया है, या क्या मुझे एक नया बनाने की आवश्यकता है?

धनी

जवाबों:


19

जब तक आपका एक ही कुंजी, डोमेन (उर्फ कॉमन-नाम), संपर्क विवरण और वैधता अवधि का उपयोग करके आप एक ही सीएसआर का उपयोग करने में सक्षम होना चाहिए।

हालांकि ईमानदारी से सीएसआर उत्पन्न करना एक बहुत ही सरल काम है, इसलिए यदि आपको संपर्क विवरण (जिसमें बहुत सारे एसएसएल प्रदाता सख्त हैं) पर संशोधन करने की आवश्यकता है, तो यह कोई बड़ी बात नहीं है।


1
मैं सहमत हूँ। CSR उत्पन्न करना एक ऐसा तुच्छ कार्य है जिसे मैं नहीं देखता कि आप किसी एक का पुन: उपयोग करने की कोशिश में क्यों परेशान होंगे।
जोकवेरी

5
एक बार जब आप OpenSSL स्थापित कर लेते हैं, तो आप लगभग 30 सेकंड में एक नया CSR जनरेट कर सकते हैं। और अगर आपको लगता है कि यह आपको अधिक समय लगेगा- तो इसे जरूर करें क्योंकि आपको अभ्यास की आवश्यकता है !!!!!
ऑस्टिन '' डेंजर '' पॉवर्स

1
ओपी के मामले पर लागू नहीं है, लेकिन यदि आप सर्टिफिकेट पिनिंग का उपयोग करना चाहते हैं, तो अपने ग्राहक पक्ष के ऐप्स को अपडेट करने की तुलना में उसी सीएसआर का उपयोग करना अधिक व्यावहारिक है।
काली

यदि कुंजी, डोमेन, और विवरण समान हैं, तो CSR समान होगा।
ग्रेव

11

आपके उदाहरण के मामले में, मुझे नहीं लगता कि यह CSR का पुन: उपयोग करने के लिए लायक है। हालांकि, एक बड़ी विविध टीम Apple iOS डेवलपर्स (जैसे मेरे पास) के लिए ऐसा करने का एक अच्छा कारण है। हम बनाते हैं (वास्तव में, Apple को बनाने के लिए कहें) हमारे सभी साइनिंग सीट्स और समान निजी कुंजी से पुश पुश करें। इस तरह हम सभी अपने 85+ ऐप्स पर आसानी से सहयोग कर सकते हैं। इस कारण से, हम चारों ओर एक एकल CSR रखते हैं और हमेशा एक ही उपयोग करते हैं जब तक कि कुंजी वैध है।

जहाँ तक मुझे पता है, सीएसआर को एक ही निजी कुंजी से बार-बार उत्पन्न करने का कोई कारण नहीं है। अगर मैं गलत हूं तो मुझे सुधारना अच्छा लगेगा।


6
बिना किसी सुधार के 4 साल हो गए हैं। मुझे लगता है कि मैं गलत नहीं हूं।
ब्रूनो ब्रोंस्की

5

सीमित अवधि के प्रमाण पत्र होने का मुख्य लाभ यह है कि यदि आपकी निजी कुंजी लीक हो गई है तो नुकसान को कम करना है। यदि आपके पास CSR का पुन: उपयोग होता है, तो निजी कुंजी रखने वाला कोई व्यक्ति हमेशा के लिए आपका प्रतिरूपण कर सकता है, क्योंकि CSR का उपयोग करने से आपकी निजी कुंजी का पुन: उपयोग होता है।

कृपया ऐसा न करें, दोनों निजी कुंजी के साथ-साथ CSR की पीढ़ी को स्वचालित करना बेहतर है और बिल्ड सर्वर और पुश सर्वर को लागू करने के लिए कभी-बदलती निजी कुंजी को वितरित करने के लिए सुविधाजनक तरीके ढूंढें। अधिकांश मात्र नश्वर डेवलपर्स को किसी भी तरह ऐप स्टोर के लिए रिलीज / वितरण-निर्माण करने की आवश्यकता नहीं होगी, इसलिए निजी कुंजी की आवश्यकता नहीं होगी।


1
हालांकि यह सच है कि "CSR का फिर से उपयोग करने का अर्थ है कि आपकी निजी कुंजी का पुन: उपयोग"। इसका मतलब यह नहीं है कि "यदि आप CSR का पुन: उपयोग करते हैं तो हमेशा के लिए आपका प्रतिरूपण किया जा रहा है"। यदि आप एन महीनों के लिए एक कुंजी का उपयोग करने का निर्णय लेते हैं, तो उन एन महीनों के लिए उसी सीएसआर का उपयोग करना ठीक है।
ब्रूनो ब्रोंस्की

2
हाँ, आप सही ब्रूनो हैं। मैंने यह मान लिया कि CSR का पुन: उपयोग करने वाले लोगों ने अज्ञानता से बाहर किया और इस तरह उस अभ्यास को "हमेशा के लिए" जारी रखा, हालाँकि निश्चित रूप से कुछ ऐसे लोग हो सकते हैं जो मुद्दों से अवगत हैं और सीमित समय के लिए सावधानीपूर्वक योजना के आधार पर ऐसा करते हैं।
स्टेफेन एल

1

आप वास्तव में सिद्धांत रूप में उसी सीएसआर का पुन: उपयोग कर सकते हैं, क्योंकि यह सिर्फ एक कंटेनर है

  • आपकी सार्वजनिक कुंजी ( RSA एन्क्रिप्शन के लिए उपयोग किए जाने वाले केवल नंबर ) (विशिष्ट गणित)
  • आपके "विषय" विवरण (आप कौन हैं, डोमेन, आदि ...) उस सार्वजनिक कुंजी के स्वामी को पहचानने के लिए उपयोग किया जाने वाला पाठ

यह सब के बाद के बारे में एक प्रमाण पत्र (PublicKey प्रमाणपत्र के लिए संक्षिप्त) है

लेकिन जैसा कि अन्य उत्तरों में उल्लेख किया गया है, निजी कुंजी को नियमित रूप से बदलने के लिए यह एक अच्छा विकल्प है, ताकि इसे प्राप्त करने के लिए नए प्रमाणपत्र, और नए सीएसआर का पता लगाया जा सके।

आप CSR की सामग्री को आसानी से देख सकते हैं

जैसे

$ openssl req -new -batch -subj "/CN=My Common Name/OU=My Org Unit/O=My Organisation" -sha256 -newkey rsa:2048 -keyout private.key -nodes -out request.csr
Generating a 2048 bit RSA private key
.............................................................................................+++++
.........+++++
writing new private key to 'private.key'
-----

$ ls
private.key  //  keep that private, the PublicKey side is easily be generated from this
request.csr // your PublicKey + Subject details

सीएसआर

$ openssl req -in request.csr -text -noout
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: CN = My Common Name, OU = My Org Unit, O = My Organisation
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:                    ///////// Matches the PrivateKey modulus
                    00:b1:e8:de:e6:bf:21:45:51:75:15:23:5e:6e:7a:
                    7d:95:53:e5:d5:ec:5b:38:cd:7f:38:2d:53:8a:54:
...
                    fe:b5:78:de:9b:c1:ee:c1:51:6f:fd:fb:0e:62:09:
                    03:87
                Exponent: 65537 (0x10001)   ///////// Matches the PrivateKey publicExponent
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         a1:44:1f:b2:ec:c0:82:bc:99:da:69:ce:3e:77:9f:46:51:95:
...
         3b:2d:84:e3:73:ac:be:c8:da:29:fd:62:90:11:dd:8a:a6:4f:
         7b:f8:ac:f1

और PrivateKey

$ openssl rsa -in private.key -text -noout
// all the below are numbers that takes part in Mathematical encryption (search for RSA maths)
RSA Private-Key: (2048 bit, 2 primes)

// The Numbers that can be freely published
modulus:
    00:b1:e8:de:e6:bf:21:45:51:75:15:23:5e:6e:7a:
    7d:95:53:e5:d5:ec:5b:38:cd:7f:38:2d:53:8a:54:
...
    fe:b5:78:de:9b:c1:ee:c1:51:6f:fd:fb:0e:62:09:
    03:87
publicExponent: 65537 (0x10001)

// The Numbers that must be kept private !
privateExponent:
    0a:81:73:d8:30:65:28:90:bc:d7:38:b5:74:d4:aa:
...
    b1:9b:30:2e:a2:dd:46:c1:10:0f:b0:da:ac:b6:ea:
    01
prime1:
    00:e0:28:01:87:95:70:d0:b8:21:07:e0:4f:96:a6:
...
    66:28:8f:3d:d7:eb:e6:b4:81
prime2:
    00:cb:2e:fe:1b:b6:30:ea:8d:9e:6d:23:83:d8:b6:
...
    4d:64:39:5c:9c:18:a0:14:07
exponent1:
    22:e2:36:f2:b9:af:f7:db:5f:d0:90:f8:f1:d1:ff:
...
    3a:31:a8:87:2c:c0:17:81
exponent2:
    5a:8b:3d:77:f1:ef:c8:86:85:a4:13:20:8d:31:a4:
...
    a5:ba:1e:37:fd:8d:50:7f
coefficient:
    00:d3:d3:b6:81:4b:a9:c2:aa:ff:e1:07:cb:de:ea:
...
    5c:e9:3b:d3:f7:67:82:c3:7f
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.