Chromium Code Reviews| Index: net/socket/ssl_client_socket_unittest.cc |
| diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc |
| index 8d6bb1bd189348890687eee249264885067b0f2e..854a274a32c4cd8fb26580a6e118c5198f488e89 100644 |
| --- a/net/socket/ssl_client_socket_unittest.cc |
| +++ b/net/socket/ssl_client_socket_unittest.cc |
| @@ -2422,8 +2422,9 @@ TEST_F(SSLClientSocketTest, VerifyServerChainProperlyOrdered) { |
| X509Certificate::FORMAT_AUTO); |
| // Get the server certificate as received client side. |
| - scoped_refptr<X509Certificate> server_certificate = |
| - sock->GetUnverifiedServerCertificateChain(); |
| + SSLInfo ssl_info; |
| + sock->GetSSLInfo(&ssl_info); |
| + scoped_refptr<X509Certificate> server_certificate = ssl_info.served_cert; |
|
davidben
2015/06/12 19:45:42
It is somewhat confusing that the code alternates
estark
2015/06/12 20:29:11
I like |unverified_cert| the best, I think. Change
|
| // Get the intermediates as received client side. |
| const X509Certificate::OSCertHandles& server_intermediates = |
| @@ -2466,6 +2467,11 @@ TEST_F(SSLClientSocketTest, VerifyReturnChainProperlyOrdered) { |
| // expired. |
| cert_verifier_->set_default_result(ERR_CERT_DATE_INVALID); |
| + CertificateList served_certs = CreateCertificateListFromFile( |
| + GetTestCertsDirectory(), "redundant-server-chain.pem", |
| + X509Certificate::FORMAT_AUTO); |
| + ASSERT_EQ(4u, served_certs.size()); |
| + |
| // We will expect SSLInfo to ultimately contain this chain. |
| CertificateList certs = |
| CreateCertificateListFromFile(GetTestCertsDirectory(), |
| @@ -2543,6 +2549,19 @@ TEST_F(SSLClientSocketTest, VerifyReturnChainProperlyOrdered) { |
| EXPECT_TRUE(X509Certificate::IsSameOSCert(intermediates[1], |
| certs[2]->os_cert_handle())); |
| + // Verify that SSLInfo also contains the chain as received from the server. |
| + const X509Certificate::OSCertHandles& served_intermediates = |
| + ssl_info.served_cert->GetIntermediateCertificates(); |
| + ASSERT_EQ(3U, served_intermediates.size()); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert(ssl_info.cert->os_cert_handle(), |
| + served_certs[0]->os_cert_handle())); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert(served_intermediates[0], |
| + served_certs[1]->os_cert_handle())); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert(served_intermediates[1], |
| + served_certs[2]->os_cert_handle())); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert(served_intermediates[2], |
| + served_certs[3]->os_cert_handle())); |
| + |
| sock->Disconnect(); |
| EXPECT_FALSE(sock->IsConnected()); |
| } |