16

使い方が分からなくて困っています<keygen>

認証に使用されるデモが見つかりませんでした。タグをフォームに追加すると<keygen>、公開鍵が送信されます。

公開鍵を取得した後はどうすればよいですか?

<keygen>認証を使用して実行するサンプルアプリケーションを教えてください。

4

2 に答える 2

8

私の説明は、この 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>
于 2014-06-16T11:26:34.703 に答える
5

Mozilla にはいくつかの実例があります:

https://developer.mozilla.org/en-US/docs/HTML/Element/keygen

于 2013-01-11T17:30:34.263 に答える