पृष्ठभूमि:
मुझे एक वेब सेवा के साथ परेशानी हो रही है कोल्ड फ्यूजन 9 (सहकर्मी प्रमाणित नहीं है)।
सबसे पहले, मैं कोशिश करूँगा अगर वह काम नहीं कर रहा है, तो मैं कोशिश कर रहा हूं।
लेकिन मेरे प्रश्न अधिक विशिष्ट हैं ...
प्रश्न:
मैं क्रोम (या लिनक्स सीएलआई) में प्रमाणपत्र (सही स्तर पर) कैसे निर्यात कर सकता हूं, और किस प्रारूप में?
विवरण
मैंने ब्राउज़र से एक प्रमाणन निर्यात करने के लिए कुछ निर्देश देखे हैं, लेकिन वे IE (पुराने संस्करण, उस पर) के लिए हैं, और मैं क्रोम का उपयोग करना पसंद करता हूं, क्योंकि मैं लिनक्स पर हूं।
वहां से, मैं चार स्तरों में से एक पर निर्यात करने में सक्षम हूं:
- अंतर्निहित ऑब्जेक्ट टोकन: थॉएट प्रीमियम सर्वर सीए
- प्राथमिक रूट सीए thawte
- Thawte SSL CA
- sb1.geolearning.com
कौन सा उपयुक्त है?
इसके अलावा, "प्रमाण पत्र को विशिष्ट रूप से X.50 9 प्रमाणपत्र होना चाहिए एन्कोडिंग रूल्स (डीईआर) प्रारूप। ", और क्रोम के निर्यात डायलॉग इन विकल्पों की पेशकश करता है:
- बेस 64-एन्कोडेड एएससीआईआई, एकल प्रमाणपत्र
- बेस 64-एन्कोडेड एएससीआईआई, प्रमाण पत्र श्रृंखला
- डीईआर-एन्कोडेड बाइनरी, एकल प्रमाणपत्र
- पीकेसीएस # 7, एकल प्रमाण पत्र
- पीकेसीएस # 7, प्रमाणपत्र श्रृंखला
- सभी फाइलें
मुझे लगता है "डीईआर-एन्कोडेड बाइनरी, एकल प्रमाणपत्र" उचित है?
एक ब्राउजर के साथ
निम्नलिखित एक प्रमाण पत्र जेनरेट कर रहा है जिसे मैं कुंजी टोल का उपयोग करके आयात कर पा रहा था:
- स्तर: sb1.geolearning.com
- फ़ाइल टाइप: डीईआर-एन्कोडेड बाइनरी, एकल प्रमाणपत्र
भावी पीढ़ी के लिए, यहां आयात करने के लिए उपयोग की जाने वाली कमान थी:
sudo keytool -import -keystore / opt / Jrun4 / jre / lib / security / cacerts -alias "sb1.geolearning.com (Thawte एसएसएल सीए) "-स्टोरेपास चेंटीट -नॉपमार्प्ट -ट्रस्टकैक्ट -फ़ाइल ~ / डाउनलोड / एसबी 1.एजोलैर्निंग.कॉम <एचआर>
ब्राउज़र के बिना
इन दिनों कर रहे हैं (एक आवेश प्रावधान में)। इस स्क्रिप्ट में, कीस्टोर हार्ड-कोडेड है, क्योंकि मैं इसे केवल लुसे के लिए प्रयोग कर रहा हूं, इस समय; हालांकि, जिस पथ को मुख्यतः आसानी से पैरामीटेट किया जा सकता है इसके अलावा,
runfile संबंधित कोड बस इतने उग्र है कि स्क्रिप्ट को एक से अधिक बार नहीं चलाया जाता है; उन पंक्तियों की ज़रूरत से ज़्यादा ज़रूरत नहीं है यदि आप कोड को वग्रेंट प्रावधान के रूप में उपयोग नहीं कर रहे हैं।
उपरोक्त समाधान से वास्तव में यह अंतर करता है कि यह
openssl s_client (और इसे
sed से साफ़ करता है) इसके बजाय ब्राउज़र के माध्यम से मैन्युअल रूप से ऐसा करने से।
#! / Usr / bin / env bash set -e description = " लुसे की कीस्टोर को प्रमाणित करें। " जबकि: $ 1 में प्रोजेक्ट-डीआईआर = *) प्रावधान_आकार = $ {1 # * =} # "" = "बदलाव तक सबकुछ हटाना ;; --runfile-name = *) runfile_name = $ {1 # * =} # "=" शिफ्ट तक सब कुछ हटाना ;; --साइट-होस्ट-नाम = *) site_host_name = $ {1 # * =} # "=" शिफ्ट तक सब कुछ हटाना ;; - *) गूंज "चेतावनी: अज्ञात विकल्प (उपेक्षित): $ 1" & gt; और 2 बदलाव ;; *) # और अधिक विकल्प नहीं। लूप ब्रेक के दौरान बंद करो ;; Esac किया runfile = "$ {provisioned_dir} / $ {runfile_name}" अगर [-f "$ {रनफाइल}"]; फिर "$ {description} एको": पहले से ही चल रहे हैं। " बाहर निकलें 0f ईको "कुंजीस्टोर में प्रमाण जोड़ें" echo -n | \ Openssl s_client-connect $ {site_host_name}: 443 \ | Sed -ne '/ -जैग सर्टिफिकेट - /, / - एंड सर्टिफिकेट- / पी' \ & gt; /tmp/${site_host_name }.cert / opt / lucee / jdk / jre / bin / keytool \ -import \ -keystore / opt / lucee / lib / lucee-server / context / security / cacerts \ -alias "$ {site_host_name} } (स्व-हस्ताक्षरित) "\ -storepass changeit \ -file /tmp/${site_host_name}.cert \ -noprompt \ || सच स्पर्श "$ {runfile}"
No comments:
Post a Comment