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

Side by Side Diff: tests/standalone/io/secure_server_client_certificate_test.dart

Issue 1665433002: Adds SecurityContext.setTrustedCertificatesBytes (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Merge with CL adding setClientAuthoritiesBytes Created 4 years, 10 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 (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 import "dart:async"; 5 import "dart:async";
6 import "dart:io"; 6 import "dart:io";
7 7
8 import "package:async_helper/async_helper.dart"; 8 import "package:async_helper/async_helper.dart";
9 import "package:expect/expect.dart"; 9 import "package:expect/expect.dart";
10 10
11 InternetAddress HOST; 11 InternetAddress HOST;
12 12
13 String localFile(path) => Platform.script.resolve(path).toFilePath(); 13 String localFile(path) => Platform.script.resolve(path).toFilePath();
14 List<int> readLocalFile(path) => (new File(localFile(path))).readAsBytesSync(); 14 List<int> readLocalFile(path) => (new File(localFile(path))).readAsBytesSync();
15 15
16 SecurityContext serverContext = new SecurityContext() 16 SecurityContext serverContext = new SecurityContext()
17 ..useCertificateChainBytes(readLocalFile('certificates/server_chain.pem')) 17 ..useCertificateChainBytes(readLocalFile('certificates/server_chain.pem'))
18 ..usePrivateKeyBytes(readLocalFile('certificates/server_key.pem'), 18 ..usePrivateKeyBytes(readLocalFile('certificates/server_key.pem'),
19 password: 'dartdart') 19 password: 'dartdart')
20 ..setTrustedCertificates(file: localFile('certificates/client_authority.pem')) 20 ..setTrustedCertificatesBytes(
21 ..setClientAuthorities(localFile('certificates/client_authority.pem')); 21 readLocalFile('certificates/client_authority.pem'))
22 ..setClientAuthoritiesBytes(
23 readLocalFile('certificates/client_authority.pem'));
22 24
23 SecurityContext clientCertContext = new SecurityContext() 25 SecurityContext clientCertContext = new SecurityContext()
24 ..setTrustedCertificates(file: localFile('certificates/trusted_certs.pem')) 26 ..setTrustedCertificatesBytes(
27 readLocalFile('certificates/trusted_certs.pem'))
25 ..useCertificateChainBytes(readLocalFile('certificates/client1.pem')) 28 ..useCertificateChainBytes(readLocalFile('certificates/client1.pem'))
26 ..usePrivateKeyBytes(readLocalFile('certificates/client1_key.pem'), 29 ..usePrivateKeyBytes(readLocalFile('certificates/client1_key.pem'),
27 password: 'dartdart'); 30 password: 'dartdart');
28 31
29 SecurityContext clientNoCertContext = new SecurityContext() 32 SecurityContext clientNoCertContext = new SecurityContext()
30 ..setTrustedCertificates(file: localFile('certificates/trusted_certs.pem')); 33 ..setTrustedCertificatesBytes(
34 readLocalFile('certificates/trusted_certs.pem'));
31 35
32 Future testClientCertificate({bool required, bool sendCert}) async { 36 Future testClientCertificate({bool required, bool sendCert}) async {
33 var server = await SecureServerSocket.bind(HOST, 0, serverContext, 37 var server = await SecureServerSocket.bind(HOST, 0, serverContext,
34 requestClientCertificate: true, requireClientCertificate: required); 38 requestClientCertificate: true, requireClientCertificate: required);
35 var clientContext = sendCert ? clientCertContext : clientNoCertContext; 39 var clientContext = sendCert ? clientCertContext : clientNoCertContext;
36 var clientEndFuture = 40 var clientEndFuture =
37 SecureSocket.connect(HOST, server.port, context: clientContext); 41 SecureSocket.connect(HOST, server.port, context: clientContext);
38 if (required && !sendCert) { 42 if (required && !sendCert) {
39 try { 43 try {
40 await server.first; 44 await server.first;
(...skipping 27 matching lines...) Expand all
68 72
69 main() async { 73 main() async {
70 asyncStart(); 74 asyncStart();
71 HOST = (await InternetAddress.lookup("localhost")).first; 75 HOST = (await InternetAddress.lookup("localhost")).first;
72 await testClientCertificate(required: false, sendCert: true); 76 await testClientCertificate(required: false, sendCert: true);
73 await testClientCertificate(required: true, sendCert: true); 77 await testClientCertificate(required: true, sendCert: true);
74 await testClientCertificate(required: false, sendCert: false); 78 await testClientCertificate(required: false, sendCert: false);
75 await testClientCertificate(required: true, sendCert: false); 79 await testClientCertificate(required: true, sendCert: false);
76 asyncEnd(); 80 asyncEnd();
77 } 81 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698