2012-07-29 10 views
16

मुझे <keygen> का उपयोग करने के तरीके को समझने में कठिनाई हो रही है।क्या कोई HTML5 कुंजीgen उदाहरण है?

मुझे इसके लिए डेमो नहीं मिला, जिसका प्रमाणीकरण के लिए उपयोग किया जाता है। जब मैं फॉर्म में <keygen> टैग जोड़ता हूं, तो यह सार्वजनिक कुंजी भेजता है।

सार्वजनिक कुंजी प्राप्त करने के बाद क्या किया जाना चाहिए?

कोई मुझे नमूना आवेदन जो <keygen> उपयोग करता है और प्रमाणीकरण करता दे कृपया कर सकते हैं?

+0

आप पढ़ सकते हैं http://stackoverflow.com/questions/4501196/keygen-tag-in-html5 है:

फिर आप अपाचे authentified ग्राहकों तक पहुंचने के लिए कॉन्फ़िगर कर सकते हैं? – atomicinf

+1

हां मैंने उपर्युक्त लिंक पढ़ा है। मेरा सवाल है सर्वर पर प्रमाण पत्र उत्पन्न करना और इसे उपयोगकर्ता प्रमाणीकरण के लिए वापस भेजना। मैं पूरी तरह से उदाहरण के लिए देख रहा हूं जो कि keygen सार्वजनिक कुंजी – swingmicro

+1

का उपयोग कर प्रमाण पत्र उत्पन्न करता है, फिर आप देखेंगे: यह विनिर्देश निर्दिष्ट नहीं करता है कि उत्पन्न निजी कुंजी का उपयोग कैसे किया जाता है। यह अपेक्षा की जाती है कि साइनडपब्लिकके और चैलेंज (एसपीकेएसी) संरचना प्राप्त करने के बाद, सर्वर क्लाइंट प्रमाणपत्र उत्पन्न करेगा और इसे डाउनलोड करने के लिए उपयोगकर्ता को वापस पेश करेगा; यह प्रमाणपत्र, जिसे निजी कुंजी के साथ कुंजी स्टोर में डाउनलोड और संग्रहीत किया जाता है, तब टीएलएस और प्रमाणपत्र प्रमाणीकरण का उपयोग करने वाली सेवाओं को प्रमाणित करने के लिए उपयोग किया जा सकता है। PHP और Apache के साथ – maxwellb

उत्तर

8

मेरे स्पष्टीकरण इस 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> 
संबंधित मुद्दे