-
Notifications
You must be signed in to change notification settings - Fork 4
/
383.txt
204 lines (152 loc) · 9.78 KB
/
383.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
[1] [[暗号鍵]]を生成する要素 ([[FormControl]]) です。
[[form]] 要素の子孫となります。[[強制空要素]]です。
[43] この[[要素]]は[[非推奨]]とされています。
* 仕様書
[REFS[
- [30] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-03-15 01:40:28 +09:00]] 版) <https://html.spec.whatwg.org/#the-keygen-element>
]REFS]
* 意味
[37] [CODE(HTMLe)@en[[[keygen]]]] [[要素]]は、[[公開鍵暗号]]方式で用いる[[鍵]]の組を生成することを
[[Webブラウザー]]に求める[[フォーム制御子]]です。
[36] [CODE(HTMLe)@en[[[keygen]]]] [[要素]]を含む[[フォームの提出]]を行うと、
新しい[[公開鍵]]と[[秘密鍵]]の組が生成され、
[[サーバー]]には[[公開鍵]]が、
[[Webブラウザー]]の[[証明書データベース]]には[[秘密鍵]]が保存されます。
[38] [[サーバー]]は、受信した[[公開鍵]]を使って[[TLSクライアント認証]]のための[[クライアント証明書]]を[[発行]]し、
[[証明書ダウンロード]]によって[[Webブラウザー]]の[[証明書データベース]]に登録させることが期待されています。
;; [39] [[CSR]] とは違って[[公開鍵]]しか含まれないので、それだけでは[[証明書]]を発行するのに十分な情報ではないかもしれません。
[[証明書]]の各欄に含める情報は他の[[フォーム制御子]]などから得ることが想定されているようです。
* 歴史
[29] [[NN]]3+, [[Opera]] 3 が対応しています。
[7]
:状態:非標準
:[[局所名]]:[CODE(HTMLe)@en[keygen]] ([Q@en[key generation]]
([Q[鍵生成]]) からか?)
:[[開始タグ]]:必須
:[[終了タグ]]:禁止
:[[内容モデル]]:[CODE(SGML)@en[[[EMPTY]]]]
:出現できる文脈:[[行内要素]]としてか?
:[[属性]]:
,属性名 ,属性値 ,既定値 ,説明 ,状態 ,出典
,[[challenge]] ,英数字? ,空文字列 ,[[誰何]]文字列 ,[NN3]
,[[keytype]] ,DSA
,[[name]] ,html-name ,必須 ,名前 ,[NN3]
,[[pqg]] , , , ,[Moz]
入力欄を提出すると、他の form control 同様に、
([[appication/x-www-form-urlencoded]] なら) [VAR[name]]=[VAR[key]]
形式で送信されます。但し、 [VAR[key]] は鍵を [[Base64]]
符号化したものです。
[[NN]]・[[Mozilla]] の実装では、鍵長を選択する
[[PullDownList]] で表示されます。
- ''Netscape Extensions for User Key Generation'' <http://wp.netscape.com/eng/security/ca-interface.html>
- ''HTML Tag Reference'' <http://developer.netscape.com/docs/manuals/htmlguid/tags10.htm#1615503>
- [2] ''Netscape Client Certificate Management'' <http://www.pseudonym.org/ssl/ssl_nsclient_certs.html>
- [3] ''実践デジタル認証入門'' <http://cvs.cacanet.org/FIRST/CA/>
- [4] ''Netscape Certificate Server FAQ'' <http://wp.netscape.com/ja/certificate/v1.0/faq/index.html>
[5]
[[Safari]] も実装しています。
[6]
標準化について、 [[Ian Hickson]] は
[Q[[INS[(もう確定している)]] [[Web Forms 2.0]] に入ることは無いが、[[Web Forms 3.0]] に入れる候補として検討することは可能だ]]
と述べています。
([[名無しさん]] [sage] [WEAK[2005-11-20 11:53:29 +00:00]])
[8]
[[Gecko]] では、構文解析時に [CODE(HTMLa)@en[[[_moz-type]]]]
[[属性]]が [CODE(HTML)@en[[[-mozilla-keygen]]]] な
[CODE(HTMLe)@en[[[select]]]] [[要素]]に置き換えられます。
その[[内容]]は [CODE(HTMLe)@en[[[option]]]]
[[要素]] ([[内容]]は[[自然言語]]依存) になります。
([[名無しさん]] [sage] [WEAK[2005-11-29 04:15:07 +00:00]])
[9]
[CITE@ja[PRB: HTML タグ Internet Explorer でサポートされていない KEYGEN]] ([TIME[2008-07-11 00:23:32 +09:00]] 版) <http://support.microsoft.com/kb/190282>
[10]
[CITE['''['''whatwg''']''' <keygen> element]] ([TIME[2008-07-23 14:39:54 +09:00]] 版) <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-July/015300.html>
[11] [CITE[IRC logs: freenode / #whatwg / 20090407]] ([TIME[2009-06-14 10:25:02 +09:00]] 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20090407>
[12] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-08-22 14:39:34 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=2959&to=2960>
[13] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-09-14 22:12:02 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=3842&to=3843>
[14] [CITE[IRC logs: freenode / #whatwg / 20090907]]
([TIME[2009-10-17 22:29:17 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20090907#l-654>
[15] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-10-23 23:21:32 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4280&to=4281>
[16] [CITE['''['''whatwg''']''' Headings and sections, role of H2-H6]]
([TIME[2010-05-01 19:55:17 +09:00]] 版)
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-April/026130.html>
[17] [CITE@en[<keygen> element (was RE: Implementor feedback on new elements in HTML5)]]
([[Adrian Bateman]] 著, [TIME[2009-09-02 00:13:41 +09:00]] 版)
<http://lists.w3.org/Archives/Public/public-html/2009Sep/0043.html>
[18] [CITE['''['''whatwg''']''' Questions about the keygen element specification]]
([TIME[2010-07-29 07:58:24 +09:00]] 版)
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-July/027411.html>
[19] [CITE[IRC logs: freenode / #whatwg / 20140212]]
( ([TIME[2014-02-13 20:32:09 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140212#l-931>
[20] [CITE@en[WebID-TLS]]
( ([TIME[2014-03-01 16:05:08 +09:00]] 版))
<https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/tls-respec.html#h4_certificate-creation>
[21] [CITE@en[Web Applications 1.0 r8560 Add some info about keygen.]]
( ([TIME[2014-04-02 09:05:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8559&to=8560>
[22] [CITE@en-US[NSS Certificate Download Specification | MDN]]
( ([TIME[2014-03-26 06:32:19 +09:00]] 版))
<https://developer.mozilla.org/en-US/docs/NSS_Certificate_Download_Specification>
[REFS[
- [31] [CITE@en['''['''whatwg''']''' <keygen> and X509 client cert mime type]] ([[henry.story@bblfish.net]] 著, [TIME[2014-02-25 23:01:57 +09:00]] 版) <https://lists.w3.org/Archives/Public/public-whatwg-archive/2014Feb/0146.html>
- [32] [CITE@en[Re: '''['''whatwg''']''' <keygen> and X509 client cert mime type]] ([[Ian Hickson]] 著, [TIME[2014-04-02 09:02:51 +09:00]] 版) <https://lists.w3.org/Archives/Public/public-whatwg-archive/2014Apr/0004.html>
-- [23] [CITE[''''''[''''''whatwg'''''']'''''' <keygen> and X509 client cert mime type]]
( ([TIME[2014-04-02 09:02:52 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2014-April/084613.html>
]REFS]
[24] [CITE@en[Switch to HTTPS Now, For Free]]
( ([[Eric Mill]] 著, [TIME[2014-09-14 03:45:06 +09:00]] 版))
<https://konklone.com/post/switch-to-https-now-for-free>
[25] [CITE[Netscape Extensions for User Key Generation]]
([TIME[2015-03-03 23:44:47 +09:00]] 版)
<http://web.archive.org/web/19990129075540/http://www.home.netscape.com/eng/security/comm4-keygen.html>
[26] [CITE[Netscape Extensions for User Key Generation]]
([TIME[2015-03-03 23:45:09 +09:00]] 版)
<http://web.archive.org/web/19990129031457/http://www.home.netscape.com/eng/security/ca-interface.html>
[27] [CITE[Issue 148 - chromium - browser does not send valid certification requests for creating SSL client certificates - An open-source project to help move the web forward. - Google Project Hosting]]
([TIME[2015-03-22 00:57:49 +09:00]] 版)
<https://code.google.com/p/chromium/issues/detail?id=148>
[28] [CITE[Netscape Extensions for User Key Generation]]
([TIME[2015-04-06 14:30:46 +09:00]] 版)
<http://web.archive.org/web/19970709164001/http://home.netscape.com/eng/security/ca-interface.html>
[33] [CITE[HTML Tag Reference]]
([TIME[2015-04-12 13:20:38 +09:00]] 版)
<http://web.archive.org/web/20010606132221/http://developer.netscape.com/docs/manuals/htmlguid/tags10.htm#1615503>
[FIG(quote)[
[FIGCAPTION[
[34] ([TIME[2015-04-12 13:25:17 +09:00]] 版)
<http://web.archive.org/web/20060929031003/http://www.alw.nih.gov/pki/docs/ns-ca.txt>
]FIGCAPTION]
> The browser uses the public key encoded in the certificate to
> associate the certificate with the appropriate private key in
> its local key database. Now, the certificate is "installed".
]FIG]
[35] [CITE[Issue 37142 - chromium - Intermediate certs received along with generated client cert will not be saved - An open-source project to help move the web forward. - Google Project Hosting]]
([TIME[2015-04-12 15:36:13 +09:00]] 版)
<https://code.google.com/p/chromium/issues/detail?id=37142>
[40] [CITE@en[Deprecate <keygen> and appcache · whatwg/html@1b43806]]
([TIME[2015-08-29 01:06:39 +09:00]] 版)
<https://github.com/whatwg/html/commit/1b438067d84da2ee95988842cdd8fe2655444936>
[41] [CITE@en[Deprecate <keygen> · Issue #67 · whatwg/html]]
([TIME[2015-09-01 18:56:24 +09:00]] 版)
<https://github.com/whatwg/html/issues/67>
[42] [CITE@en[Agenda: <keygen> being destroyed when we need it]]
([[Tim Berners-Lee]] 著, [TIME[2015-09-01 23:08:10 +09:00]] 版)
<https://lists.w3.org/Archives/Public/www-tag/2015Sep/0000.html>
[44] [CITE@en[13518 – "The keygen element": The only supported signature algorithm is the outdated and insecure md5WithRSAEncryption. The element should at least have an optional signature algorithm, with the option to use the more secure sha1WithRSAEncryption and sha256WithRS]]
([TIME[2015-10-08 11:13:46 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=13518>
[45] [CITE@en[Keygen and Client Certificates]]
([TIME[2015-12-01 07:01:19 +09:00]] 版)
<https://w3ctag.github.io/client-certificates/>
[46] [CITE@en[Remove the concept of CSS Bindings]]
([[annevk]]著, [TIME[2016-07-08 02:00:41 +09:00]])
<https://github.com/whatwg/html/commit/6c96beabfa41d6d28ab23633966b82c5cdb9fd94>