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

Side by Side Diff: sdk/lib/io/secure_socket.dart

Issue 262833002: Use Socket::connect for SecureSocket as well. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 * A high-level class for communicating securely over a TCP socket, using 8 * A high-level class for communicating securely over a TCP socket, using
9 * TLS and SSL. The [SecureSocket] exposes both a [Stream] and an 9 * TLS and SSL. The [SecureSocket] exposes both a [Stream] and an
10 * [IOSink] interface, making it ideal for using together with 10 * [IOSink] interface, making it ideal for using together with
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 * decide (or let the user decide) whether to accept 239 * decide (or let the user decide) whether to accept
240 * the connection or not. The handler should return true 240 * the connection or not. The handler should return true
241 * to continue the [RawSecureSocket] connection. 241 * to continue the [RawSecureSocket] connection.
242 */ 242 */
243 static Future<RawSecureSocket> connect( 243 static Future<RawSecureSocket> connect(
244 host, 244 host,
245 int port, 245 int port,
246 {bool sendClientCertificate: false, 246 {bool sendClientCertificate: false,
247 String certificateName, 247 String certificateName,
248 bool onBadCertificate(X509Certificate certificate)}) { 248 bool onBadCertificate(X509Certificate certificate)}) {
249 return _RawSecureSocket.connect( 249 _RawSecureSocket._verifyFields(
250 host, 250 host,
251 port, 251 port,
252 certificateName, 252 certificateName,
253 is_server: false, 253 false,
254 sendClientCertificate: sendClientCertificate, 254 false,
255 onBadCertificate: onBadCertificate); 255 false,
256 sendClientCertificate,
257 onBadCertificate);
258 return RawSocket.connect(host, port)
259 .then((socket) {
260 return secure(socket,
261 host: host,
262 sendClientCertificate: sendClientCertificate,
263 certificateName: certificateName,
264 onBadCertificate: onBadCertificate);
265 });
256 } 266 }
257 267
258 /** 268 /**
259 * Takes an already connected [socket] and starts client side TLS 269 * Takes an already connected [socket] and starts client side TLS
260 * handshake to make the communication secure. When the returned 270 * handshake to make the communication secure. When the returned
261 * future completes the [RawSecureSocket] has completed the TLS 271 * future completes the [RawSecureSocket] has completed the TLS
262 * handshake. Using this function requires that the other end of the 272 * handshake. Using this function requires that the other end of the
263 * connection is prepared for TLS handshake. 273 * connection is prepared for TLS handshake.
264 * 274 *
265 * If the [socket] already has a subscription, pass the existing 275 * If the [socket] already has a subscription, pass the existing
(...skipping 1002 matching lines...) Expand 10 before | Expand all | Expand 10 after
1268 /** 1278 /**
1269 * An exception that happens in the handshake phase of establishing 1279 * An exception that happens in the handshake phase of establishing
1270 * a secure network connection, when looking up or verifying a 1280 * a secure network connection, when looking up or verifying a
1271 * certificate. 1281 * certificate.
1272 */ 1282 */
1273 class CertificateException extends TlsException { 1283 class CertificateException extends TlsException {
1274 const CertificateException([String message = "", 1284 const CertificateException([String message = "",
1275 OSError osError = null]) 1285 OSError osError = null])
1276 : super._("CertificateException", message, osError); 1286 : super._("CertificateException", message, osError);
1277 } 1287 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698