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..8739726b77a1234886045f381e1a1383e2100143 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); |
|
Ryan Sleevi
2015/06/12 21:14:06
Hrm. This should probably be an ASSERT_TRUE() here
estark
2015/06/12 21:20:41
Done.
|
| + scoped_refptr<X509Certificate> server_certificate = ssl_info.unverified_cert; |
| // 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 unverified_certs = CreateCertificateListFromFile( |
| + GetTestCertsDirectory(), "redundant-server-chain.pem", |
| + X509Certificate::FORMAT_AUTO); |
| + ASSERT_EQ(4u, unverified_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.unverified_cert->GetIntermediateCertificates(); |
| + ASSERT_EQ(3U, served_intermediates.size()); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert( |
| + ssl_info.cert->os_cert_handle(), unverified_certs[0]->os_cert_handle())); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert( |
| + served_intermediates[0], unverified_certs[1]->os_cert_handle())); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert( |
| + served_intermediates[1], unverified_certs[2]->os_cert_handle())); |
| + EXPECT_TRUE(X509Certificate::IsSameOSCert( |
| + served_intermediates[2], unverified_certs[3]->os_cert_handle())); |
| + |
| sock->Disconnect(); |
| EXPECT_FALSE(sock->IsConnected()); |
| } |