Chromium Code Reviews| OLD | NEW |
|---|---|
| 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, all available certificates will be returned. | |
|
pneubeck (no reviews)
2015/05/19 10:09:00
s/all available certificate/certificates of any ty
cschuet (SLOW)
2015/05/19 11:36:23
Done.
| |
| 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 Loading... | |
| 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 |
| OLD | NEW |