अंत में मेरी समस्या का हल हो गया, इसलिए अगर कोई और अटक जाए तो मैं यहां परिणाम पोस्ट करूंगा।
Keytool डिफ़ॉल्ट रूप से जब स्व-हस्ताक्षरित प्रमाणपत्र पैदा DSA एल्गोरिथ्म का उपयोग करता:
माइकल मार्टिन के लिए धन्यवाद Michael's Software Thoughts & Ramblings की मुझे लगता है कि खोज की। फ़ायरफ़ॉक्स के पहले संस्करणों ने समस्या के बिना इन चाबियों को स्वीकार कर लिया। फ़ायरफ़ॉक्स 3 बीटा 5 के साथ, का उपयोग कर डीएसए काम नहीं करता है, लेकिन आरएसए का उपयोग करता है। उत्पन्न करते समय "-keyalg आरएसए" पास करना स्व-हस्ताक्षरित प्रमाणपत्र प्रमाण पत्र बनाता है फ़ायरफ़ॉक्स 3 बीटा 5 पूरी तरह से स्वीकार करता है।
मैंने बस उस ध्वज को सेट किया, फ़ायरफ़ॉक्स में सभी कैश साफ़ कर दिए और यह एक आकर्षण की तरह काम करता था! मैं इसे अपने प्रोजेक्ट के लिए टेस्ट-सेटअप के रूप में उपयोग कर रहा हूं और मुझे इसे अन्य लोगों के साथ साझा करने की ज़रूरत है, इसलिए मैंने एक छोटी बैच स्क्रिप्ट लिखी जो दो एसएसएल प्रमाणपत्र बनाता है। किसी को टॉमकैट सेटअप में गिराया जा सकता है और दूसरा एक .p12 फ़ाइल है जिसे फ़ायरफ़ॉक्स/आईई में आयात किया जा सकता है। धन्यवाद!
उपयोग: पहला कमांड लाइन तर्क क्लाइंट का उपयोगकर्ता नाम है। सभी पासवर्ड "पासवर्ड" हैं (बिना उद्धरण के)। अपनी जरूरतों को पूरा करने के लिए किसी भी हार्ड-कोडित बिट्स को बदलें।
@echo off
if "%1" == "" goto usage
keytool -genkeypair -alias servercert -keyalg RSA -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -keystore server.jks -storepass password
keytool -genkeypair -alias %1 -keystore %1.p12 -storetype pkcs12 -keyalg RSA -dname "CN=%1,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -storepass password
keytool -exportcert -alias %1 -file %1.cer -keystore %1.p12 -storetype pkcs12 -storepass password
keytool -importcert -keystore server.jks -alias %1 -file %1.cer -v -trustcacerts -noprompt -storepass password
keytool -list -v -keystore server.jks -storepass password
del %1.cer
goto end
:usage
echo Need user id as first argument: generate_keystore [username]
goto end
:end
pause
परिणाम दो फाइलें हैं। जिसे server.jks कहा जाता है जिसे आप टॉमकैट में छोड़ देते हैं और {username} .p12 नामक दूसरी फ़ाइल जिसे आप अपने ब्राउज़र में आयात करते हैं। Server.jks फ़ाइल में विश्वसनीय प्रमाणपत्र के रूप में क्लाइंट प्रमाणपत्र जोड़ा गया है।
मुझे आशा है कि किसी और को यह उपयोगी लगेगा।
और यहाँ है एक्सएमएल अपने बिलाव conf/sever.xml फ़ाइल (केवल बिलाव 6.x पर पर परीक्षण)
<Connector
clientAuth="true" port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${catalina.home}/conf/server.jks"
keystoreType="JKS" keystorePass="password"
truststoreFile="${catalina.home}/conf/server.jks"
truststoreType="JKS" truststorePass="password"
SSLVerifyClient="require" SSLEngine="on" SSLVerifyDepth="2" sslProtocol="TLS"
/>
बिलाव 7 के लिए करने के लिए जोड़ा जाना चाहिए:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" SSLEnabled="true"
maxThreads="200" scheme="https" secure="true"
keystoreFile="${catalina.base}/conf/server.jks" keystorePass="password"
clientAuth="false" sslProtocol="TLS" />
इस के लिए बहुत बहुत धन्यवाद! मैं पूरे दिन विभिन्न "ट्यूटोरियल्स" के साथ घूम रहा हूं और यह पहला ऐसा है जो वास्तव में क्लाइंटऑथ = "सत्य के साथ काम करता है " –
यह एक सुंदर जवाब है। मैंने बल्ले फ़ाइल के साथ बहुत समय बचाया है। और सबसे अच्छा यह है कि यह पूरी तरह से काम करता है। – Yster