使い方が分からなくて困っています<keygen>
。
認証に使用されるデモが見つかりませんでした。タグをフォームに追加すると<keygen>
、公開鍵が送信されます。
公開鍵を取得した後はどうすればよいですか?
<keygen>
認証を使用して実行するサンプルアプリケーションを教えてください。
使い方が分からなくて困っています<keygen>
。
認証に使用されるデモが見つかりませんでした。タグをフォームに追加すると<keygen>
、公開鍵が送信されます。
公開鍵を取得した後はどうすればよいですか?
<keygen>
認証を使用して実行するサンプルアプリケーションを教えてください。
私の説明は、この PHP/Apache の例から来ています。これは簡単な説明です。詳細については、元の例を参照してください。
クライアントはサーバーの公開鍵を生成し、秘密鍵を保持します。
<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);
そしてそれをクライアントに返送します。
次に、認証されたクライアントへのアクセスを許可するように Apache を構成できます。
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>
Mozilla にはいくつかの実例があります:
https://developer.mozilla.org/en-US/docs/HTML/Element/keygen