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

Unified Diff: net/ssl/ssl_client_auth_cache_unittest.cc

Issue 1422573008: Plumbing SSLPrivateKey (//net) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removing un-needed forward decl. Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/ssl/ssl_client_auth_cache.cc ('k') | net/ssl/ssl_config.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/ssl/ssl_client_auth_cache_unittest.cc
diff --git a/net/ssl/ssl_client_auth_cache_unittest.cc b/net/ssl/ssl_client_auth_cache_unittest.cc
index 567418a3fb451076fc1e3baadc47c7535ced70ff..f64fac322be214504d1f5d96c10c3424f776f0d4 100644
--- a/net/ssl/ssl_client_auth_cache_unittest.cc
+++ b/net/ssl/ssl_client_auth_cache_unittest.cc
@@ -6,10 +6,39 @@
#include "base/time/time.h"
#include "net/cert/x509_certificate.h"
+#include "net/ssl/ssl_private_key.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace net {
+class MockSSLPrivateKey : public SSLPrivateKey {
+ public:
+ MockSSLPrivateKey() {}
+
+ Type GetType() override { return Type::RSA; }
+
+ std::vector<SSLPrivateKey::Hash> GetDigestPreferences() override {
+ NOTIMPLEMENTED();
+ return std::vector<SSLPrivateKey::Hash>();
+ }
+
+ size_t GetMaxSignatureLengthInBytes() override {
+ NOTIMPLEMENTED();
+ return 0;
+ }
+
+ void SignDigest(Hash hash,
+ const base::StringPiece& input,
+ const SignCallback& callback) override {
+ NOTIMPLEMENTED();
+ }
+
+ private:
+ ~MockSSLPrivateKey() override {}
+
+ DISALLOW_COPY_AND_ASSIGN(MockSSLPrivateKey);
+};
+
TEST(SSLClientAuthCacheTest, LookupAddRemove) {
SSLClientAuthCache cache;
@@ -29,48 +58,49 @@ TEST(SSLClientAuthCacheTest, LookupAddRemove) {
new X509Certificate("foo3", "CA", start_date, expiration_date));
scoped_refptr<X509Certificate> cached_cert;
+ scoped_refptr<SSLPrivateKey> cached_pkey;
// Lookup non-existent client certificate.
cached_cert = NULL;
- EXPECT_FALSE(cache.Lookup(server1, &cached_cert));
+ EXPECT_FALSE(cache.Lookup(server1, &cached_cert, &cached_pkey));
// Add client certificate for server1.
- cache.Add(server1, cert1.get());
+ cache.Add(server1, cert1.get(), new MockSSLPrivateKey);
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(cert1, cached_cert);
// Add client certificate for server2.
- cache.Add(server2, cert2.get());
+ cache.Add(server2, cert2.get(), new MockSSLPrivateKey);
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(cert1.get(), cached_cert.get());
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server2, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server2, &cached_cert, &cached_pkey));
EXPECT_EQ(cert2, cached_cert);
// Overwrite the client certificate for server1.
- cache.Add(server1, cert3.get());
+ cache.Add(server1, cert3.get(), new MockSSLPrivateKey);
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(cert3, cached_cert);
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server2, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server2, &cached_cert, &cached_pkey));
EXPECT_EQ(cert2, cached_cert);
// Remove client certificate of server1.
cache.Remove(server1);
cached_cert = NULL;
- EXPECT_FALSE(cache.Lookup(server1, &cached_cert));
+ EXPECT_FALSE(cache.Lookup(server1, &cached_cert, &cached_pkey));
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server2, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server2, &cached_cert, &cached_pkey));
EXPECT_EQ(cert2, cached_cert);
// Remove non-existent client certificate.
cache.Remove(server1);
cached_cert = NULL;
- EXPECT_FALSE(cache.Lookup(server1, &cached_cert));
+ EXPECT_FALSE(cache.Lookup(server1, &cached_cert, &cached_pkey));
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server2, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server2, &cached_cert, &cached_pkey));
EXPECT_EQ(cert2, cached_cert);
}
@@ -90,13 +120,14 @@ TEST(SSLClientAuthCacheTest, LookupWithPort) {
scoped_refptr<X509Certificate> cert2(
new X509Certificate("foo", "CA", start_date, expiration_date));
- cache.Add(server1, cert1.get());
- cache.Add(server2, cert2.get());
+ cache.Add(server1, cert1.get(), new MockSSLPrivateKey);
+ cache.Add(server2, cert2.get(), new MockSSLPrivateKey);
scoped_refptr<X509Certificate> cached_cert;
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ scoped_refptr<SSLPrivateKey> cached_pkey;
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(cert1.get(), cached_cert.get());
- EXPECT_TRUE(cache.Lookup(server2, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server2, &cached_cert, &cached_pkey));
EXPECT_EQ(cert2.get(), cached_cert.get());
}
@@ -111,29 +142,30 @@ TEST(SSLClientAuthCacheTest, LookupNullPreference) {
scoped_refptr<X509Certificate> cert1(
new X509Certificate("foo", "CA", start_date, expiration_date));
- cache.Add(server1, NULL);
+ cache.Add(server1, NULL, new MockSSLPrivateKey);
scoped_refptr<X509Certificate> cached_cert(cert1);
+ scoped_refptr<SSLPrivateKey> cached_pkey;
// Make sure that |cached_cert| is updated to NULL, indicating the user
// declined to send a certificate to |server1|.
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(NULL, cached_cert.get());
// Remove the existing cached certificate.
cache.Remove(server1);
cached_cert = NULL;
- EXPECT_FALSE(cache.Lookup(server1, &cached_cert));
+ EXPECT_FALSE(cache.Lookup(server1, &cached_cert, &cached_pkey));
// Add a new preference for a specific certificate.
- cache.Add(server1, cert1.get());
+ cache.Add(server1, cert1.get(), new MockSSLPrivateKey);
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(cert1, cached_cert);
// Replace the specific preference with a NULL certificate.
- cache.Add(server1, NULL);
+ cache.Add(server1, NULL, new MockSSLPrivateKey);
cached_cert = NULL;
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(NULL, cached_cert.get());
}
@@ -147,25 +179,26 @@ TEST(SSLClientAuthCacheTest, OnCertAdded) {
scoped_refptr<X509Certificate> cert1(
new X509Certificate("foo", "CA", start_date, expiration_date));
- cache.Add(server1, cert1.get());
+ cache.Add(server1, cert1.get(), new MockSSLPrivateKey);
HostPortPair server2("foo2", 443);
- cache.Add(server2, NULL);
+ cache.Add(server2, NULL, new MockSSLPrivateKey);
scoped_refptr<X509Certificate> cached_cert;
+ scoped_refptr<SSLPrivateKey> cached_pkey;
// Demonstrate the set up is correct.
- EXPECT_TRUE(cache.Lookup(server1, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server1, &cached_cert, &cached_pkey));
EXPECT_EQ(cert1, cached_cert);
- EXPECT_TRUE(cache.Lookup(server2, &cached_cert));
+ EXPECT_TRUE(cache.Lookup(server2, &cached_cert, &cached_pkey));
EXPECT_EQ(NULL, cached_cert.get());
cache.OnCertAdded(NULL);
// Check that we no longer have entries for either server.
- EXPECT_FALSE(cache.Lookup(server1, &cached_cert));
- EXPECT_FALSE(cache.Lookup(server2, &cached_cert));
+ EXPECT_FALSE(cache.Lookup(server1, &cached_cert, &cached_pkey));
+ EXPECT_FALSE(cache.Lookup(server2, &cached_cert, &cached_pkey));
}
} // namespace net
« no previous file with comments | « net/ssl/ssl_client_auth_cache.cc ('k') | net/ssl/ssl_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698