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

Unified Diff: net/quic/test_tools/crypto_test_utils.cc

Issue 12806002: Land Recent QUIC Changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: minor comment fix Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/test_tools/crypto_test_utils.h ('k') | net/quic/test_tools/quic_connection_peer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/test_tools/crypto_test_utils.cc
diff --git a/net/quic/test_tools/crypto_test_utils.cc b/net/quic/test_tools/crypto_test_utils.cc
index a9c5e0d4303c164e0dfdc5d222876264130d34f9..71f3234ef12e3d88a9d2f10086cb07008382c67a 100644
--- a/net/quic/test_tools/crypto_test_utils.cc
+++ b/net/quic/test_tools/crypto_test_utils.cc
@@ -4,12 +4,17 @@
#include "net/quic/test_tools/crypto_test_utils.h"
+#include "base/string_piece.h"
+#include "net/quic/crypto/quic_decrypter.h"
+#include "net/quic/crypto/quic_encrypter.h"
#include "net/quic/quic_crypto_client_stream.h"
#include "net/quic/quic_crypto_server_stream.h"
#include "net/quic/quic_crypto_stream.h"
#include "net/quic/test_tools/quic_test_utils.h"
#include "net/quic/test_tools/simple_quic_framer.h"
+using base::StringPiece;
+
namespace net {
namespace test {
@@ -61,13 +66,13 @@ void CommunicateHandshakeMessages(
// static
void CryptoTestUtils::HandshakeWithFakeServer(
PacketSavingConnection* client_conn,
- QuicCryptoStream* client) {
+ QuicCryptoClientStream* client) {
QuicGuid guid(1);
IPAddressNumber ip;
CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip));
IPEndPoint addr = IPEndPoint(ip, 1);
PacketSavingConnection* server_conn =
- new PacketSavingConnection(guid, addr);
+ new PacketSavingConnection(guid, addr, true);
TestSession server_session(server_conn, true);
QuicCryptoServerStream server(&server_session);
@@ -75,18 +80,20 @@ void CryptoTestUtils::HandshakeWithFakeServer(
CHECK_NE(0u, client_conn->packets_.size());
CommunicateHandshakeMessages(client_conn, client, server_conn, &server);
+
+ CompareClientAndServerKeys(client, &server);
}
// static
void CryptoTestUtils::HandshakeWithFakeClient(
PacketSavingConnection* server_conn,
- QuicCryptoStream* server) {
+ QuicCryptoServerStream* server) {
QuicGuid guid(1);
IPAddressNumber ip;
CHECK(ParseIPLiteralToNumber("192.0.2.33", &ip));
IPEndPoint addr = IPEndPoint(ip, 1);
PacketSavingConnection* client_conn =
- new PacketSavingConnection(guid, addr);
+ new PacketSavingConnection(guid, addr, false);
TestSession client_session(client_conn, true);
QuicCryptoClientStream client(&client_session, "test.example.com");
@@ -94,6 +101,50 @@ void CryptoTestUtils::HandshakeWithFakeClient(
CHECK_EQ(1u, client_conn->packets_.size());
CommunicateHandshakeMessages(client_conn, &client, server_conn, server);
+
+ CompareClientAndServerKeys(&client, server);
+}
+
+// static
+void CryptoTestUtils::CompareClientAndServerKeys(
+ QuicCryptoClientStream* client,
+ QuicCryptoServerStream* server) {
+ StringPiece client_encrypter_key =
+ client->crypto_negotiated_params_.encrypter->GetKey();
+ StringPiece client_encrypter_iv =
+ client->crypto_negotiated_params_.encrypter->GetNoncePrefix();
+ StringPiece client_decrypter_key =
+ client->crypto_negotiated_params_.decrypter->GetKey();
+ StringPiece client_decrypter_iv =
+ client->crypto_negotiated_params_.decrypter->GetNoncePrefix();
+ StringPiece server_encrypter_key =
+ server->crypto_negotiated_params_.encrypter->GetKey();
+ StringPiece server_encrypter_iv =
+ server->crypto_negotiated_params_.encrypter->GetNoncePrefix();
+ StringPiece server_decrypter_key =
+ server->crypto_negotiated_params_.decrypter->GetKey();
+ StringPiece server_decrypter_iv =
+ server->crypto_negotiated_params_.decrypter->GetNoncePrefix();
+ CompareCharArraysWithHexError("client write key",
+ client_encrypter_key.data(),
+ client_encrypter_key.length(),
+ server_decrypter_key.data(),
+ server_decrypter_key.length());
+ CompareCharArraysWithHexError("client write IV",
+ client_encrypter_iv.data(),
+ client_encrypter_iv.length(),
+ server_decrypter_iv.data(),
+ server_decrypter_iv.length());
+ CompareCharArraysWithHexError("server write key",
+ server_encrypter_key.data(),
+ server_encrypter_key.length(),
+ client_decrypter_key.data(),
+ client_decrypter_key.length());
+ CompareCharArraysWithHexError("server write IV",
+ server_encrypter_iv.data(),
+ server_encrypter_iv.length(),
+ client_decrypter_iv.data(),
+ client_decrypter_iv.length());
}
} // namespace test
} // namespace net
« no previous file with comments | « net/quic/test_tools/crypto_test_utils.h ('k') | net/quic/test_tools/quic_connection_peer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698