Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(536)

Side by Side Diff: chrome/common/extensions/api/platform_keys.idl

Issue 1141253003: chrome.platformKeys: Add filtering by certificate types (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed pneubeck's comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Use the <code>chrome.platformKeys</code> API to access client certificates 5 // Use the <code>chrome.platformKeys</code> API to access client certificates
6 // managed by the platform. If the user or policy grants the permission, an 6 // managed by the platform. If the user or policy grants the permission, an
7 // extension can use such a certficate in its custom authentication protocol. 7 // extension can use such a certficate in its custom authentication protocol.
8 // E.g. this allows usage of platform managed certificates in third party VPNs 8 // E.g. this allows usage of platform managed certificates in third party VPNs
9 // (see $(ref:vpnProvider chrome.vpnProvider)). 9 // (see $(ref:vpnProvider chrome.vpnProvider)).
10 namespace platformKeys { 10 namespace platformKeys {
11 [noinline_doc] dictionary Match { 11 [noinline_doc] dictionary Match {
12 // The DER encoding of a X.509 certificate. 12 // The DER encoding of a X.509 certificate.
13 ArrayBuffer certificate; 13 ArrayBuffer certificate;
14 14
15 // The 15 // The
16 // <a href="http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary"> 16 // <a href="http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary">
17 // KeyAlgorithm</a> of the certified key. This contains algorithm 17 // KeyAlgorithm</a> of the certified key. This contains algorithm
18 // parameters that are inherent to the key of the certificate (e.g. the key 18 // parameters that are inherent to the key of the certificate (e.g. the key
19 // length). Other parameters like the hash function used by the sign 19 // length). Other parameters like the hash function used by the sign
20 // function are not included. 20 // function are not included.
21 object keyAlgorithm; 21 object keyAlgorithm;
22 }; 22 };
23 23
24 enum ClientCertificateType { 24 enum ClientCertificateType {
25 rsaSign, 25 rsaSign,
26 dssSign,
27 ecdsaSign 26 ecdsaSign
28 }; 27 };
29 28
30 // Analogous to TLS1.1's CertificateRequest. 29 // Analogous to TLS1.1's CertificateRequest.
31 // See http://tools.ietf.org/html/rfc4346#section-7.4.4 . 30 // See http://tools.ietf.org/html/rfc4346#section-7.4.4 .
32 dictionary ClientCertificateRequest { 31 dictionary ClientCertificateRequest {
33 // This field is a list of the types of certificates requested, sorted in 32 // This field is a list of the types of certificates requested, sorted in
34 // order of the server's preference. 33 // order of the server's preference. Only certificates of a type contained
34 // in this list will be retrieved. If <code>certificateTypes</code> is the
35 // empty list, however, certificates of any type will be returned.
35 ClientCertificateType[] certificateTypes; 36 ClientCertificateType[] certificateTypes;
36 37
37 // List of distinguished names of certificate authorities allowed by the 38 // List of distinguished names of certificate authorities allowed by the
38 // server. Each entry must be a DER-encoded X.509 DistinguishedName. 39 // server. Each entry must be a DER-encoded X.509 DistinguishedName.
39 ArrayBuffer[] certificateAuthorities; 40 ArrayBuffer[] certificateAuthorities;
40 }; 41 };
41 42
42 dictionary SelectDetails { 43 dictionary SelectDetails {
43 // Only certificates that match this request will be returned. 44 // Only certificates that match this request will be returned.
44 ClientCertificateRequest request; 45 ClientCertificateRequest request;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 104
104 // An implementation of WebCrypto's 105 // An implementation of WebCrypto's
105 // <a href="http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface"> 106 // <a href="http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface">
106 // SubtleCrypto</a> 107 // SubtleCrypto</a>
107 // that allows crypto operations on keys of client certificates that are 108 // that allows crypto operations on keys of client certificates that are
108 // available to this extension. 109 // available to this extension.
109 [nocompile] static object subtleCrypto(); 110 [nocompile] static object subtleCrypto();
110 }; 111 };
111 }; 112 };
112 113
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698