1. ホーム
  2. security

HTML5におけるKeygenタグ

2023-11-24 20:16:37

質問

というわけで、HTML5でこんな新しいタグを見つけました。 <keygen> . このタグが何のためにあるのか、どのように適用されるのか、そしてブラウザの動作にどのような影響を与える可能性があるのか、私にはよくわかりません。

このタグがフォームを暗号化するためのものであることは理解できましたが、の違いは何なのでしょうか? <keygen> と、ドメインのSSL証明書を持っていることの違いは何ですか?また challenge 属性は何ですか?

私は、このタグが許容できる範囲のブラウザで実装されているとは言い難いので、これを使うつもりはありませんが、このタグが何をするものなのかについては興味があります。 私が見つけることができるのは、実際の使用例がない、漠然としたクッキー カッターのようなドキュメントだけです。


編集します。

VERY INFORMATIONALなドキュメントを発見しました。 ここで . これは、keygenタグのクライアント側とサーバー側の両方の実装を実行します。

私はまだ、ドメインSSL証明書と比較して、これの利点が何であるかに興味があります。

どのように解決するのですか?

SSLは、「サーバ識別」または「サーバとクライアントの認証(相互認証)」のことです。

ほとんどの場合、サーバのみがSSLハンドシェイクの際にサーバ証明書を提示し、 このサーバが本当にあなたが接続しようとしているサーバであることを確認することができます。場合によっては、サーバーは以下のことも確認したいと思います。 を確認したい場合もあります。 が本当にその人であることを確認したい場合もあります。そのためには、クライアント証明書が必要です。

<keygen> タグは公開鍵/秘密鍵のペアを生成し、証明書要求を作成します。この証明書要求は認証局 (CA) に送信されます。CAは証明書を作成し、それをブラウザに送り返します。これで、この証明書をユーザー認証に使用できるようになりました。