मेरे स्पष्टीकरण इस PHP/अपाचे example से आते हैं। यह एक सरल व्याख्या है, पूर्ण विवरण के लिए मूल उदाहरण देखें।
क्लाइंट सर्वर के लिए सार्वजनिक कुंजी उत्पन्न करता है और एक निजी कुंजी रखता है।
<form>
<keygen name="pubkey" challenge="randomchars">
<input type="submit" name="createcert" value="Generate">
</form>
सार्वजनिक कुंजी सर्वर द्वारा निकाला जाता है:
$key = $_REQUEST['pubkey'];
सर्वर क्लाइंट प्रमाणपत्र का निर्माण:
$command = "/usr/bin/openssl ca -config ".$opensslconf." -days ".$days." -notext -batch -spkac ".$certfolder.$uniq.".spkac -out ".$certfolder.$uniq." -passin pass:'".$capw."' 2>&1";
$output = shell_exec($command);
और इसे वापस ग्राहक के लिए भेज देते हैं।
SSLEngine on
SSLCipherSuite HIGH:MEDIUM
SSLCertificateFile /etc/CA/certs-pub/domain.der
SSLCertificateKeyFile /etc/CA/certs-priv/domain.pem
SSLCACertificateFile /etc/CA/certs-pub/ca.pem
SSLCARevocationFile /etc/CA/crl/cacrl.pem
<Location /secure_area/>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
स्रोत
2014-06-16 11:26:34
आप पढ़ सकते हैं http://stackoverflow.com/questions/4501196/keygen-tag-in-html5 है:
फिर आप अपाचे authentified ग्राहकों तक पहुंचने के लिए कॉन्फ़िगर कर सकते हैं? – atomicinf
हां मैंने उपर्युक्त लिंक पढ़ा है। मेरा सवाल है सर्वर पर प्रमाण पत्र उत्पन्न करना और इसे उपयोगकर्ता प्रमाणीकरण के लिए वापस भेजना। मैं पूरी तरह से उदाहरण के लिए देख रहा हूं जो कि keygen सार्वजनिक कुंजी – swingmicro
का उपयोग कर प्रमाण पत्र उत्पन्न करता है, फिर आप देखेंगे: यह विनिर्देश निर्दिष्ट नहीं करता है कि उत्पन्न निजी कुंजी का उपयोग कैसे किया जाता है। यह अपेक्षा की जाती है कि साइनडपब्लिकके और चैलेंज (एसपीकेएसी) संरचना प्राप्त करने के बाद, सर्वर क्लाइंट प्रमाणपत्र उत्पन्न करेगा और इसे डाउनलोड करने के लिए उपयोगकर्ता को वापस पेश करेगा; यह प्रमाणपत्र, जिसे निजी कुंजी के साथ कुंजी स्टोर में डाउनलोड और संग्रहीत किया जाता है, तब टीएलएस और प्रमाणपत्र प्रमाणीकरण का उपयोग करने वाली सेवाओं को प्रमाणित करने के लिए उपयोग किया जा सकता है। PHP और Apache के साथ – maxwellb