| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart.io; | 5 part of dart.io; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * The object containing the certificates to trust when making | 8 * The object containing the certificates to trust when making |
| 9 * a secure client connection, and the certificate chain and | 9 * a secure client connection, and the certificate chain and |
| 10 * private key to serve from a secure server. | 10 * private key to serve from a secure server. |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 * [keyBytes] is the contents of a PEM file containing an encrypted | 55 * [keyBytes] is the contents of a PEM file containing an encrypted |
| 56 * private key, encrypted with [password]. An unencrypted file can be | 56 * private key, encrypted with [password]. An unencrypted file can be |
| 57 * used, but this is not usual. | 57 * used, but this is not usual. |
| 58 */ | 58 */ |
| 59 void usePrivateKeyBytes(List<int> keyBytes, {String password}); | 59 void usePrivateKeyBytes(List<int> keyBytes, {String password}); |
| 60 | 60 |
| 61 /** | 61 /** |
| 62 * Sets the set of trusted X509 certificates used by [SecureSocket] | 62 * Sets the set of trusted X509 certificates used by [SecureSocket] |
| 63 * client connections, when connecting to a secure server. | 63 * client connections, when connecting to a secure server. |
| 64 * | 64 * |
| 65 * There are two ways to set a set of trusted certificates, with a single | 65 * [file] is the path to a PEM file containing X509 certificates, usually |
| 66 * PEM file, or with a directory containing individual PEM files for | |
| 67 * certificates. | |
| 68 * | |
| 69 * [file] is an optional PEM file containing X509 certificates, usually | |
| 70 * root certificates from certificate authorities. | 66 * root certificates from certificate authorities. |
| 71 * | 67 * |
| 72 * [directory] is an optional directory containing PEM files. The directory | 68 * The function returns a [Future] that completes when the certificates have |
| 73 * must also have filesystem links added, which link extra filenames based | 69 * been added. |
| 74 * on the hash of a certificate's distinguished name (DN) to the file | |
| 75 * containing that certificate. OpenSSL contains a tool called c_rehash | |
| 76 * to create these links in a directory. | |
| 77 */ | 70 */ |
| 78 void setTrustedCertificates({String file, String directory}); | 71 Future setTrustedCertificates(String file); |
| 72 |
| 73 /** |
| 74 * Sets the set of trusted X509 certificates used by [SecureSocket] |
| 75 * client connections, when connecting to a secure server. |
| 76 * |
| 77 * [file] is the contents of a PEM file containing X509 certificates, usually |
| 78 * root certificates from certificate authorities. |
| 79 */ |
| 80 void setTrustedCertificatesBytes(List<int> certBytes); |
| 79 | 81 |
| 80 /** | 82 /** |
| 81 * Sets the chain of X509 certificates served by [SecureServer] | 83 * Sets the chain of X509 certificates served by [SecureServer] |
| 82 * when making secure connections, including the server certificate. | 84 * when making secure connections, including the server certificate. |
| 83 * | 85 * |
| 84 * [file] is a PEM file containing X509 certificates, starting with | 86 * [file] is a PEM file containing X509 certificates, starting with |
| 85 * the root authority and intermediate authorities forming the signed | 87 * the root authority and intermediate authorities forming the signed |
| 86 * chain to the server certificate, and ending with the server certificate. | 88 * chain to the server certificate, and ending with the server certificate. |
| 87 * The private key for the server certificate is set by [usePrivateKey]. | 89 * The private key for the server certificate is set by [usePrivateKey]. |
| 88 * | 90 * |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 } | 218 } |
| 217 | 219 |
| 218 if (bytes.length >= (1 << 13)) { | 220 if (bytes.length >= (1 << 13)) { |
| 219 throw new ArgumentError( | 221 throw new ArgumentError( |
| 220 'The maximum message length supported is 2^13-1.'); | 222 'The maximum message length supported is 2^13-1.'); |
| 221 } | 223 } |
| 222 | 224 |
| 223 return new Uint8List.fromList(bytes); | 225 return new Uint8List.fromList(bytes); |
| 224 } | 226 } |
| 225 } | 227 } |
| OLD | NEW |