Http। Apache सर्वर के लिए JKS फ़ाइल से .key और .crt फ़ाइल कैसे जनरेट करें


19

मेरे पास केवल mycert.jks फ़ाइल है। अब मुझे .key और .crt फ़ाइल को निकालने और उत्पन्न करने की आवश्यकता है और इसे Apache httpd सर्वर में उपयोग करें।

SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt 
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key 

क्या कोई इसे पूरा करने के लिए सभी चरणों को सूचीबद्ध कर सकता है। मैंने खोज की, लेकिन मिश्रित और मिलान किए गए चरणों को समझने के लिए कोई ठोस उदाहरण नहीं है।

कृपया सुझाव दे!

[संपादित करें] नीचे उत्तर से चरणों का पालन करने के बाद त्रुटि हो रही है।

8/‎21/‎2015 9:07 PM] Sohan Bafna: 
    [Fri Aug 21 15:32:03.008511 2015] [ssl:emerg] [pid 14:tid 140151694997376] AH02562: Failed to configure certificate 0.0.0.0:4545:0 (with chain), check /home/certs/smp_c
    ert_key_store.crt
    [Fri Aug 21 15:32:03.008913 2015] [ssl:emerg] [pid 14:tid 140151694997376] SSL Library Error: error:0906D06C:PEM routines:PEM_read_bio:no start line (Expecting: TRUSTED
     CERTIFICATE) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
    [Fri Aug 21 15:32:03.008959 2015] [ssl:emerg] [pid 14:tid 140151694997376] SSL Library Error: error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib 

जवाबों:


29

.jks एक कीस्टॉर है, जो एक जावा चीज़ है

जावा से कीटल बाइनरी का उपयोग करें ।

निर्यात .crt :

keytool -export -alias mydomain -file mydomain.der -keystore mycert.jks

सर्टिफिकेट को PEM में बदलें :

openssl x509 -inform der -in mydomain.der -out certificate.pem

कुंजी निर्यात करें :

keytool -importkeystore -srckeystore mycert.jks -destkeystore keystore.p12 -deststoretype PKCS12

संगीत कार्यक्रम PKCS12 अनएन्क्रिप्टेड PEM की कुंजी :

openssl pkcs12 -in keystore.p12  -nodes -nocerts -out mydomain.key

क्रेडिट:


काम नहीं कर रहा, त्रुटि हो रही है
सोहन

निर्यातित प्रमाणपत्र डीईआर प्रारूप है। इसे PEM में बदलने के लिए एक कदम जोड़ा गया
निकलें

thnx, वह काम हो सकता है जो मैंने अभी तक कोशिश नहीं की है
सोहन

keytool -exportcert -rfcपीईएम प्रारूप में लिखते हैं और रूपांतरण की आवश्यकता नहीं है। वैकल्पिक रूप से एक बार जब आपके पास p12 होता है, तो PEM में openssl pkcs12 -nokeysसंपूर्ण प्रमाणपत्र श्रृंखला लिखता है , जो आमतौर पर OpenSSL (जैसे httpd) का उपयोग करते हुए सर्वर के लिए बेहतर होता है यदि यह प्रमाणपत्र keytool-default स्व-हस्ताक्षरित प्रमाणपत्र के बजाय एक वास्तविक CA से है।
dave_thompson_085

1
नोट: उपनाम प्रमाण पत्र का नाम हो सकता है, यदि आप जानते हैं कि यह नाम क्या था जब इसे निर्यात किया गया था। यह उल्लेख करना चाहता था कि यदि लोग पहले कमांड को चलाने के लिए संघर्ष कर रहे थे।
GM Lucid

19

ये है जो मैं करता हूं,

पहले कुंजी निर्यात करें:

keytool -importkeystore -srckeystore mycert.jks -destkeystore keystore.p12 -deststoretype PKCS12

अपाचे एसएसएल प्रमाणपत्र फ़ाइल के लिए आपको केवल प्रमाण पत्र की आवश्यकता है:

openssl pkcs12 -in keystore.p12 -nokeys -out my_key_store.crt

एसएसएल कुंजी फ़ाइल के लिए आपको केवल कुंजी की आवश्यकता है:

openssl pkcs12 -in keystore.p12 -nocerts -nodes -out my_store.key


0

यहाँ उत्तर मिला:

/programming/7580508/getting-chrome-to-accept-self-signed-localhost-certificate?page=2&tab=Votes

यह दिखाया कि विंडोज पर क्रोम में jks keystore फाइल से crt कैसे बनाया जाता है:

  • ब्राउज़र में url पर जाएं जो लाल रेखा के साथ jks का उपयोग करता है और बाईं ओर लॉक प्रतीक होगा

  • सुरक्षित हिस्सा नहीं पर क्लिक करके, सूचना संवाद खुल जाता है

  • प्रमाणपत्र (अमान्य) पर क्लिक करें और जब यह खुलता है तो विवरण पर क्लिक करें

  • फाइल करने के लिए कॉपी पर प्रेस करें ... और अनुदेश का पालन करें

अंत में आपके पास crt में कीस्टोर फाइल है

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