/
884.txt
239 lines (177 loc) · 10 KB
/
884.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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
[24] [DFN[[CODE(DOMi)@en[[[Crypto]]]]]] [[オブジェクト]]は、
[[暗号]]技術の [[API]] を提供するものです。 [CODE(JS)@en[[[window.crypto]]]]
([[大域オブジェクト]]の [DFN[[CODE(DOMa)@en[[[crypto]]]]]] [[IDL属性]])
としてアクセスできます。
* 仕様書
[REFS[
- [23] [CITE[Web Cryptography API]] ([TIME[2015-04-12 17:14:34 +09:00]] 版) <https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html>
]REFS]
* メンバー
[FIG(short list)[
[1]
-[CODE(DOMm)@en[[[alert]]]]
-[CODE(DOMm)@en[[[disableRightClick]]]]
-[CODE(DOMa)@en[[[enableSmartCardEvents]]]]
-[CODE(DOMm)@en[[[generateCRMFRequest]]]]
-[CODE(DOMm)@en[[[getRandomValues]]]] ([[Web Cryptography API]])
-[CODE(DOMm)@en[[[importUserCertificates]]]]
-[CODE(DOMm)@en[[[logout]]]]
-[CODE(DOMm)@en[[[popChallengeResponse]]]]
-[CODE(DOMm)@en[[[random]]]] ([[JavaScript 1.2]])
-[CODE(DOMm)@en[[[signText]]]] ([[JavaScript 1.2]])
-[CODE(DOMa)@en[[[subtle]]]] ([[Web Cryptography API]])
-[CODE(DOMa)@en[[[version]]]]
]FIG]
[44] 多くのメンバーは旧 [[Netscape]] 時代に実装されたもので、現在は廃止されています。
* 歴史
[43] [CITE@en-US[JavaScript crypto - Archive of obsolete content | MDN]] ([TIME[2014-09-09 17:33:50 +09:00]] 版) <https://developer.mozilla.org/en-US/docs/Archive/Mozilla/JavaScript_crypto>
[8] [CITE@en[Web Crypto API — An Authentification of Data and People in SSL]]
( ([TIME[2012-07-12 23:36:59 +09:00]] 版))
<http://html5.creation.net/webcrypto-api/>
[9] [CITE@en[Web Cryptography Next Steps: Authentication, Hardware Tokens and Beyond]]
( ([TIME[2014-10-22 01:26:56 +09:00]] 版))
<http://www.w3.org/2012/webcrypto/webcrypto-next-workshop/>
[2] [CITE[''''''[''''''whatwg'''''']'''''' Cryptographically strong random numbers]]
( ([TIME[2011-02-05 15:12:39 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-February/030241.html>
[3] [CITE@en[Crypto - WHATWG Wiki]]
([TIME[2011-02-15 07:35:15 +09:00]] 版)
<http://wiki.whatwg.org/wiki/Crypto>
[4] [CITE[IRC logs: freenode / #whatwg / 20110215]]
( ([TIME[2011-03-23 00:32:10 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110215>
[49] [CITE@en[Privacy/Features/DOMCryptAPISpec/Latest - MozillaWiki]]
( ([TIME[2011-05-21 00:42:55 +09:00]] 版))
<https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest>
[27] [CITE[''''''[''''''whatwg'''''']'''''' window.cipher HTML crypto API draft spec]]
( ([TIME[2011-05-21 00:22:36 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031741.html>
[25] [CITE[''''''[''''''whatwg'''''']'''''' DOMCrypt update: July 14 Meeting Report]]
( ([TIME[2011-07-27 07:38:09 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-July/032628.html>
[28] [CITE[IRC logs: freenode / #whatwg / 20110818]]
( ([TIME[2011-08-30 07:47:59 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110818>
[35] [CITE@en[649154 – (domcrypt) Implement DOMCrypt (Internal) API]] ([TIME[2015-04-12 17:23:56 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=649154>
[29] [CITE[Bug 440046 – expose secure PRNG in window.crypto]]
( ([TIME[2011-08-30 08:39:21 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=440046>
[30] [CITE[Bug 673432 – Implement window.crypto.getRandomValues for e10s/mobile]]
( ([TIME[2011-08-30 08:39:20 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=673432>
[31] [CITE[Bug 22049 – WebKit should have a cryptographic RNG]]
( ([TIME[2011-08-30 08:39:25 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=22049>
[32] [CITE@en-US[domcrypt: Summary]]
( ([TIME[2012-01-21 15:15:09 +09:00]] 版))
<https://dvcs.w3.org/hg/domcrypt/>
[33] [CITE@en-US[DRAFT Web Cryptography Working Group Charter]]
( ([TIME[2012-01-08 23:16:47 +09:00]] 版))
<http://www.w3.org/2011/11/webcryptography-charter.html>
[46] [CITE@en-US[Web Crypto API Community Group]] ([TIME[2015-04-12 17:37:05 +09:00]] 版) <https://www.w3.org/community/webcryptoapi/>
[47] [CITE@en[KoreaWebCryptoUseCase - W3C Wiki]] ([TIME[2015-03-23 19:55:50 +09:00]] 版) <http://www.w3.org/wiki/KoreaWebCryptoUseCase>
[48] [CITE@en[Web Crypto API — An Authentification of Data and People in SSL]] ([TIME[2015-04-12 17:38:11 +09:00]] 版) <http://html5.creation.net/webcrypto-api/>
[45] [CITE@en-US[Web Crypto API | Web Crypto API Community Group]] ([TIME[2015-04-12 17:36:13 +09:00]] 版) <https://www.w3.org/community/webcryptoapi/draft/>
[34] [CITE[domcrypt.org]]
( ([TIME[2012-03-15 13:27:12 +09:00]] 版))
<http://domcrypt.org/>
[5] [CITE@en[Web Crypto API — An Authentification of Data and People in SSL]]
( ([TIME[2011-05-25 23:02:30 +09:00]] 版))
<http://html5.creation.net/webcrypto-api/>
[36] [CITE@en[657432 – Implement mozCipherAddressbook]] ([TIME[2015-04-12 17:24:35 +09:00]] 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=657432>
[37] [CITE@en[Privacy/Features/mozCipherAddressbook - MozillaWiki]] ([TIME[2015-04-12 12:24:36 +09:00]] 版) <https://wiki.mozilla.org/Privacy/Features/mozCipherAddressbook>
[6] [CITE[Web Cryptography API]]
( ([TIME[2012-09-12 21:54:55 +09:00]] 版))
<http://www.w3.org/TR/2012/WD-WebCryptoAPI-20120913/>
[7] [CITE@en[Web Cryptography API Use Cases]]
( ([TIME[2013-09-07 06:41:01 +09:00]] 版))
<http://www.w3.org/TR/2013/NOTE-webcrypto-usecases-20130910/>
[11] [CITE[Web Cryptography API]]
( ([TIME[2013-01-04 05:25:36 +09:00]] 版))
<http://www.w3.org/TR/2013/WD-WebCryptoAPI-20130108/>
[12] [CITE@en[WebCrypto Key Discovery]]
( ([TIME[2013-01-09 00:32:33 +09:00]] 版))
<http://www.w3.org/TR/2013/WD-webcrypto-key-discovery-20130108/>
[13] [CITE[Web Cryptography API Use Cases]]
( ([TIME[2013-01-08 10:07:31 +09:00]] 版))
<http://www.w3.org/TR/2013/WD-webcrypto-usecases-20130108/>
[14] [CITE[Web Cryptography API]]
( ([TIME[2014-12-11 03:23:02 +09:00]] 版))
<http://www.w3.org/TR/2014/CR-WebCryptoAPI-20141211/>
[10] [CITE[Web Cryptography API]] ([TIME[2015-04-12 17:00:59 +09:00]] 版) <https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html>
[20] [CITE[W3C Web Cryptography Working Group]]
( ([TIME[2012-04-04 05:03:41 +09:00]] 版))
<http://www.w3.org/2012/webcrypto/>
[FIG(quote)[
[FIGCAPTION[
[15] [CITE[W3C Web Cryptography Working Group]]
([TIME[2014-10-16 05:30:36 +09:00]] 版)
<http://www.w3.org/2012/webcrypto/>
]FIGCAPTION]
> The Web Cryptography Working Group will develop a Recommendation-track document that defines an API that lets developers implement secure application protocols on the level of Web applications, including message confidentiality and authentication services, by exposing trusted cryptographic primitives from the browser.
]FIG]
[21] [CITE[Bug 62010 – Implement the DOMCrypt API]]
( ([TIME[2012-04-05 08:18:22 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=62010>
[22] [CITE@en-US[Web Cryptography Working Group Charter]]
([TIME[2012-04-04 04:54:19 +09:00]] 版)
<http://www.w3.org/2011/11/webcryptography-charter.html>
[17] [CITE@en[WebCrypto Key Discovery]]
([TIME[2015-04-12 17:04:33 +09:00]] 版)
<https://dvcs.w3.org/hg/webcrypto-keydiscovery/raw-file/tip/Overview.html>
[18] [CITE@en[WebCrypto High-level API]]
([TIME[2015-04-12 17:05:01 +09:00]] 版)
<https://dvcs.w3.org/hg/webcrypto-highlevel/raw-file/tip/Overview.html>
[19] [CITE@en[daviddahl/web-crypto-ideas]]
([TIME[2015-04-12 17:05:27 +09:00]] 版)
<https://github.com/daviddahl/web-crypto-ideas>
[FIG(quote)[
[FIGCAPTION[
[26] [CITE@en[Privacy/Features/DOMCryptAPISpec/Latest - MozillaWiki]]
([TIME[2015-04-12 12:17:39 +09:00]] 版)
<https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest>
]FIGCAPTION]
> window.cipher
> The now deprecated proposed window property name for this API
> window.mozCrypto
> The temporary window property used to distinguish this new API from the current window.crypto property (used in the extension code and the current Gecko patches). The consensus so far is to add this API to the window.crypto property
]FIG]
[39] [CITE[Web Cryptography API]]
( ([TIME[2014-03-26 00:13:26 +09:00]] 版))
<http://www.w3.org/TR/2014/WD-WebCryptoAPI-20140325/>
[40] [CITE[IRC logs: freenode / #whatwg / 20140425]]
( ([TIME[2014-04-26 14:47:24 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140425#l-938>
[41] [CITE@en[Bug 25985 – WebCrypto should be inter-operable]]
( ([TIME[2014-08-24 03:04:57 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=25985>
[42] [CITE@en[''''''[''''''WebCrypto.Next'''''']'''''' Any ideas on how to proceed?]]
([[Anders Rundgren]] 著, [TIME[2015-02-18 15:30:48 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-web-security/2015Feb/0095.html>
* 実装
[16] [[Chrome]] は [CODE(JS)@en[[[window.crypto]]]] で [CODE[[[subtle]]]]
[[IDL属性]]と [CODE[[[getRandomValues]]]] [[メソッド]]を (素の [[HTTP]] 上でも)
実装しているようです。 [CODE[[[crypto]]]] は [CODE(DOMi)@en[[[Crypto]]]]
[[オブジェクト]]のようですが、 [CODE(JS)@en[window.Crypto]] は
[CODE(JS)@en[[[undefined]]]] です。
[TIME[2015-04-12T08:10:16.700Z]]
[38] [[Firefox]] も [CODE[[[subtle]]]] と [CODE(DOMm)@en[[[getRandomValues]]]]
のみ実装しているようです。 [CODE(JS)@en[window.Crypto]] もあります。
[TIME[2015-04-12T08:29:01.000Z]]
[FIG(quote)[
[FIGCAPTION[
[50] [CITE[Netscape DevEdge]]
([TIME[2015-04-12 17:57:02 +09:00]] 版)
<http://web.archive.org/web/20040611103012/http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/window.html#1201963>
]FIGCAPTION]
> Implemented in
> JavaScript 1.2
> Description
> The crypto object is only available as a property of window; it provides access to methods which support Navigator's encryption features.
]FIG]
[51] [CITE@en[Keygen and Client Certificates]]
([TIME[2015-12-01 07:01:19 +09:00]] 版)
<https://w3ctag.github.io/client-certificates/>
[52] [CITE@en[WebCrypto Key Discovery]]
([TIME[2016-03-29 14:39:36 +09:00]] 版)
<https://www.w3.org/TR/2016/NOTE-webcrypto-key-discovery-20160329/>