| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2011 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1070 MAYBE_SKIP_TEST(HaveDtls); | 1070 MAYBE_SKIP_TEST(HaveDtls); |
| 1071 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_10); | 1071 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_10); |
| 1072 TestHandshake(); | 1072 TestHandshake(); |
| 1073 | 1073 |
| 1074 int client_cipher; | 1074 int client_cipher; |
| 1075 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); | 1075 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); |
| 1076 int server_cipher; | 1076 int server_cipher; |
| 1077 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); | 1077 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); |
| 1078 | 1078 |
| 1079 ASSERT_EQ(client_cipher, server_cipher); | 1079 ASSERT_EQ(client_cipher, server_cipher); |
| 1080 ASSERT_EQ( | 1080 ASSERT_TRUE(rtc::SSLStreamAdapter::IsAcceptableCipher( |
| 1081 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1081 server_cipher, rtc::SSL_PROTOCOL_DTLS_10, |
| 1082 rtc::SSL_PROTOCOL_DTLS_10, ::testing::get<1>(GetParam()).type()), | 1082 ::testing::get<1>(GetParam()).type())); |
| 1083 server_cipher); | |
| 1084 } | 1083 } |
| 1085 | 1084 |
| 1086 // Test getting the used DTLS 1.2 ciphers. | 1085 // Test getting the used DTLS 1.2 ciphers. |
| 1087 // DTLS 1.2 enabled for client and server -> DTLS 1.2 will be used. | 1086 // DTLS 1.2 enabled for client and server -> DTLS 1.2 will be used. |
| 1088 TEST_P(SSLStreamAdapterTestDTLS, TestGetSslCipherSuiteDtls12Both) { | 1087 TEST_P(SSLStreamAdapterTestDTLS, TestGetSslCipherSuiteDtls12Both) { |
| 1089 MAYBE_SKIP_TEST(HaveDtls); | 1088 MAYBE_SKIP_TEST(HaveDtls); |
| 1090 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_12); | 1089 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_12); |
| 1091 TestHandshake(); | 1090 TestHandshake(); |
| 1092 | 1091 |
| 1093 int client_cipher; | 1092 int client_cipher; |
| 1094 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); | 1093 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); |
| 1095 int server_cipher; | 1094 int server_cipher; |
| 1096 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); | 1095 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); |
| 1097 | 1096 |
| 1098 ASSERT_EQ(client_cipher, server_cipher); | 1097 ASSERT_EQ(client_cipher, server_cipher); |
| 1099 ASSERT_EQ( | 1098 ASSERT_TRUE(rtc::SSLStreamAdapter::IsAcceptableCipher( |
| 1100 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1099 server_cipher, rtc::SSL_PROTOCOL_DTLS_12, |
| 1101 rtc::SSL_PROTOCOL_DTLS_12, ::testing::get<1>(GetParam()).type()), | 1100 ::testing::get<1>(GetParam()).type())); |
| 1102 server_cipher); | |
| 1103 } | 1101 } |
| 1104 | 1102 |
| 1105 // DTLS 1.2 enabled for client only -> DTLS 1.0 will be used. | 1103 // DTLS 1.2 enabled for client only -> DTLS 1.0 will be used. |
| 1106 TEST_P(SSLStreamAdapterTestDTLS, TestGetSslCipherSuiteDtls12Client) { | 1104 TEST_P(SSLStreamAdapterTestDTLS, TestGetSslCipherSuiteDtls12Client) { |
| 1107 MAYBE_SKIP_TEST(HaveDtls); | 1105 MAYBE_SKIP_TEST(HaveDtls); |
| 1108 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_12); | 1106 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_10, rtc::SSL_PROTOCOL_DTLS_12); |
| 1109 TestHandshake(); | 1107 TestHandshake(); |
| 1110 | 1108 |
| 1111 int client_cipher; | 1109 int client_cipher; |
| 1112 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); | 1110 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); |
| 1113 int server_cipher; | 1111 int server_cipher; |
| 1114 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); | 1112 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); |
| 1115 | 1113 |
| 1116 ASSERT_EQ(client_cipher, server_cipher); | 1114 ASSERT_EQ(client_cipher, server_cipher); |
| 1117 ASSERT_EQ( | 1115 ASSERT_TRUE(rtc::SSLStreamAdapter::IsAcceptableCipher( |
| 1118 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1116 server_cipher, rtc::SSL_PROTOCOL_DTLS_10, |
| 1119 rtc::SSL_PROTOCOL_DTLS_10, ::testing::get<1>(GetParam()).type()), | 1117 ::testing::get<1>(GetParam()).type())); |
| 1120 server_cipher); | |
| 1121 } | 1118 } |
| 1122 | 1119 |
| 1123 // DTLS 1.2 enabled for server only -> DTLS 1.0 will be used. | 1120 // DTLS 1.2 enabled for server only -> DTLS 1.0 will be used. |
| 1124 TEST_P(SSLStreamAdapterTestDTLS, TestGetSslCipherSuiteDtls12Server) { | 1121 TEST_P(SSLStreamAdapterTestDTLS, TestGetSslCipherSuiteDtls12Server) { |
| 1125 MAYBE_SKIP_TEST(HaveDtls); | 1122 MAYBE_SKIP_TEST(HaveDtls); |
| 1126 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_10); | 1123 SetupProtocolVersions(rtc::SSL_PROTOCOL_DTLS_12, rtc::SSL_PROTOCOL_DTLS_10); |
| 1127 TestHandshake(); | 1124 TestHandshake(); |
| 1128 | 1125 |
| 1129 int client_cipher; | 1126 int client_cipher; |
| 1130 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); | 1127 ASSERT_TRUE(GetSslCipherSuite(true, &client_cipher)); |
| 1131 int server_cipher; | 1128 int server_cipher; |
| 1132 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); | 1129 ASSERT_TRUE(GetSslCipherSuite(false, &server_cipher)); |
| 1133 | 1130 |
| 1134 ASSERT_EQ(client_cipher, server_cipher); | 1131 ASSERT_EQ(client_cipher, server_cipher); |
| 1135 ASSERT_EQ( | 1132 ASSERT_TRUE(rtc::SSLStreamAdapter::IsAcceptableCipher( |
| 1136 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest( | 1133 server_cipher, rtc::SSL_PROTOCOL_DTLS_10, |
| 1137 rtc::SSL_PROTOCOL_DTLS_10, ::testing::get<1>(GetParam()).type()), | 1134 ::testing::get<1>(GetParam()).type())); |
| 1138 server_cipher); | |
| 1139 } | 1135 } |
| 1140 | 1136 |
| 1141 // The RSA keysizes here might look strange, why not include the RFC's size | 1137 // The RSA keysizes here might look strange, why not include the RFC's size |
| 1142 // 2048?. The reason is test case slowness; testing two sizes to exercise | 1138 // 2048?. The reason is test case slowness; testing two sizes to exercise |
| 1143 // parametrization is sufficient. | 1139 // parametrization is sufficient. |
| 1144 INSTANTIATE_TEST_CASE_P( | 1140 INSTANTIATE_TEST_CASE_P( |
| 1145 SSLStreamAdapterTestsTLS, | 1141 SSLStreamAdapterTestsTLS, |
| 1146 SSLStreamAdapterTestTLS, | 1142 SSLStreamAdapterTestTLS, |
| 1147 Combine(Values(rtc::KeyParams::RSA(1024, 65537), | 1143 Combine(Values(rtc::KeyParams::RSA(1024, 65537), |
| 1148 rtc::KeyParams::RSA(1152, 65537), | 1144 rtc::KeyParams::RSA(1152, 65537), |
| 1149 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)), | 1145 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)), |
| 1150 Values(rtc::KeyParams::RSA(1024, 65537), | 1146 Values(rtc::KeyParams::RSA(1024, 65537), |
| 1151 rtc::KeyParams::RSA(1152, 65537), | 1147 rtc::KeyParams::RSA(1152, 65537), |
| 1152 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); | 1148 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); |
| 1153 INSTANTIATE_TEST_CASE_P( | 1149 INSTANTIATE_TEST_CASE_P( |
| 1154 SSLStreamAdapterTestsDTLS, | 1150 SSLStreamAdapterTestsDTLS, |
| 1155 SSLStreamAdapterTestDTLS, | 1151 SSLStreamAdapterTestDTLS, |
| 1156 Combine(Values(rtc::KeyParams::RSA(1024, 65537), | 1152 Combine(Values(rtc::KeyParams::RSA(1024, 65537), |
| 1157 rtc::KeyParams::RSA(1152, 65537), | 1153 rtc::KeyParams::RSA(1152, 65537), |
| 1158 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)), | 1154 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)), |
| 1159 Values(rtc::KeyParams::RSA(1024, 65537), | 1155 Values(rtc::KeyParams::RSA(1024, 65537), |
| 1160 rtc::KeyParams::RSA(1152, 65537), | 1156 rtc::KeyParams::RSA(1152, 65537), |
| 1161 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); | 1157 rtc::KeyParams::ECDSA(rtc::EC_NIST_P256)))); |
| OLD | NEW |