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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
166 | 166 |
167 ASSERT_TRUE(expected_len <= sizeof(DigestType)); | 167 ASSERT_TRUE(expected_len <= sizeof(DigestType)); |
168 | 168 |
169 rv = test_cert_->ComputeDigest(algorithm, digest, sizeof(digest), | 169 rv = test_cert_->ComputeDigest(algorithm, digest, sizeof(digest), |
170 &digest_len); | 170 &digest_len); |
171 EXPECT_TRUE(rv); | 171 EXPECT_TRUE(rv); |
172 EXPECT_EQ(expected_len, digest_len); | 172 EXPECT_EQ(expected_len, digest_len); |
173 EXPECT_EQ(0, memcmp(digest, expected_digest, expected_len)); | 173 EXPECT_EQ(0, memcmp(digest, expected_digest, expected_len)); |
174 } | 174 } |
175 | 175 |
176 private: | 176 void TestCloningIdentity(const SSLIdentity& identity) { |
177 // To PEM strings. | |
hta-webrtc
2016/04/28 10:18:12
Nit: This comment is meaningless in itself.
Consid
hbos
2016/04/28 10:44:37
Done.
| |
178 std::string priv_pem = identity.PrivateKeyToPEMString(); | |
179 std::string publ_pem = identity.PublicKeyToPEMString(); | |
180 std::string cert_pem = identity.certificate().ToPEMString(); | |
181 // Clone from PEM strings. | |
182 rtc::scoped_ptr<SSLIdentity> clone( | |
183 SSLIdentity::FromPEMStrings(priv_pem, cert_pem)); | |
184 EXPECT_TRUE(clone); | |
185 // Make sure the clone is identical to the original. | |
186 EXPECT_TRUE(identity == *clone); | |
187 ASSERT_EQ(identity.certificate().CertificateExpirationTime(), | |
188 clone->certificate().CertificateExpirationTime()); | |
189 | |
190 // At this point we are confident that the identities are identical. To be | |
191 // extra sure, we compare PEM strings of the clone with the original. Note | |
192 // that the PEM strings of two identities are not strictly guaranteed to be | |
193 // equal (they describe structs whose members could be listed in a different | |
194 // order, for example). But because the same function is used to produce | |
195 // both PEMs, its a good enough bet that this comparison will work. If the | |
196 // assumption stops holding in the future we can always remove this from the | |
197 // unittest. | |
198 std::string clone_priv_pem = clone->PrivateKeyToPEMString(); | |
199 std::string clone_publ_pem = clone->PublicKeyToPEMString(); | |
200 std::string clone_cert_pem = clone->certificate().ToPEMString(); | |
201 ASSERT_EQ(priv_pem, clone_priv_pem); | |
202 ASSERT_EQ(publ_pem, clone_publ_pem); | |
203 ASSERT_EQ(cert_pem, clone_cert_pem); | |
204 } | |
205 | |
206 protected: | |
177 rtc::scoped_ptr<SSLIdentity> identity_rsa1_; | 207 rtc::scoped_ptr<SSLIdentity> identity_rsa1_; |
178 rtc::scoped_ptr<SSLIdentity> identity_rsa2_; | 208 rtc::scoped_ptr<SSLIdentity> identity_rsa2_; |
179 rtc::scoped_ptr<SSLIdentity> identity_ecdsa1_; | 209 rtc::scoped_ptr<SSLIdentity> identity_ecdsa1_; |
180 rtc::scoped_ptr<SSLIdentity> identity_ecdsa2_; | 210 rtc::scoped_ptr<SSLIdentity> identity_ecdsa2_; |
181 rtc::scoped_ptr<rtc::SSLCertificate> test_cert_; | 211 rtc::scoped_ptr<rtc::SSLCertificate> test_cert_; |
182 }; | 212 }; |
183 | 213 |
184 TEST_F(SSLIdentityTest, FixedDigestSHA1) { | 214 TEST_F(SSLIdentityTest, FixedDigestSHA1) { |
185 TestDigestForFixedCert(rtc::DIGEST_SHA_1, 20, kTestCertSha1); | 215 TestDigestForFixedCert(rtc::DIGEST_SHA_1, 20, kTestCertSha1); |
186 } | 216 } |
(...skipping 25 matching lines...) Expand all Loading... | |
212 } | 242 } |
213 | 243 |
214 TEST_F(SSLIdentityTest, DigestSHA384) { | 244 TEST_F(SSLIdentityTest, DigestSHA384) { |
215 TestDigestForGeneratedCert(rtc::DIGEST_SHA_384, 48); | 245 TestDigestForGeneratedCert(rtc::DIGEST_SHA_384, 48); |
216 } | 246 } |
217 | 247 |
218 TEST_F(SSLIdentityTest, DigestSHA512) { | 248 TEST_F(SSLIdentityTest, DigestSHA512) { |
219 TestDigestForGeneratedCert(rtc::DIGEST_SHA_512, 64); | 249 TestDigestForGeneratedCert(rtc::DIGEST_SHA_512, 64); |
220 } | 250 } |
221 | 251 |
252 TEST_F(SSLIdentityTest, IdentityComparison) { | |
253 EXPECT_TRUE(*identity_rsa1_ == *identity_rsa1_); | |
254 EXPECT_FALSE(*identity_rsa1_ == *identity_rsa2_); | |
255 EXPECT_FALSE(*identity_rsa1_ == *identity_ecdsa1_); | |
256 EXPECT_FALSE(*identity_rsa1_ == *identity_ecdsa2_); | |
257 | |
258 EXPECT_TRUE(*identity_rsa2_ == *identity_rsa2_); | |
259 EXPECT_FALSE(*identity_rsa2_ == *identity_ecdsa1_); | |
260 EXPECT_FALSE(*identity_rsa2_ == *identity_ecdsa2_); | |
261 | |
262 EXPECT_TRUE(*identity_ecdsa1_ == *identity_ecdsa1_); | |
263 EXPECT_FALSE(*identity_ecdsa1_ == *identity_ecdsa2_); | |
264 } | |
265 | |
222 TEST_F(SSLIdentityTest, FromPEMStringsRSA) { | 266 TEST_F(SSLIdentityTest, FromPEMStringsRSA) { |
267 // These PEM strings were created by generating an identity with | |
268 // |SSLIdentity::Generate| and invoking |identity->PrivateKeyToPEMString()|, | |
269 // |identity->PublicKeyToPEMString()| and | |
270 // |identity->certificate().ToPEMString()|. | |
hta-webrtc
2016/04/28 10:18:12
You might want to add:
// If the crypto library i
hbos
2016/04/28 10:44:37
Done.
| |
223 static const char kRSA_PRIVATE_KEY_PEM[] = | 271 static const char kRSA_PRIVATE_KEY_PEM[] = |
224 "-----BEGIN RSA PRIVATE KEY-----\n" | 272 "-----BEGIN PRIVATE KEY-----\n" |
225 "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMYRkbhmI7kVA/rM\n" | 273 "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMQPqDStRlYeDpkX\n" |
226 "czsZ+6JDhDvnkF+vn6yCAGuRPV03zuRqZtDy4N4to7PZu9PjqrRl7nDMXrG3YG9y\n" | 274 "erRmv+a1naM8vSVSY0gG2plnrnofViWRW3MRqWC+020MsIj3hPZeSAnt/y/FL/nr\n" |
227 "rlIAZ72KjcKKFAJxQyAKLCIdawKRyp8RdK3LEySWEZb0AV58IadqPZDTNHHRX8dz\n" | 275 "4Ea7NXcwdRo1/1xEK7U/f/cjSg1aunyvHCHwcFcMr31HLFvHr0ZgcFwbgIuFLNEl\n" |
228 "5aTSMsbbkZ+C/OzTnbiMqLL/vg6jAgMBAAECgYAvgOs4FJcgvp+TuREx7YtiYVsH\n" | 276 "7kK5HMO9APz1ntUjek8BmBj8yMl9AgMBAAECgYA8FWBC5GcNtSBcIinkZyigF0A7\n" |
229 "mwQPTum2z/8VzWGwR8BBHBvIpVe1MbD/Y4seyI2aco/7UaisatSgJhsU46/9Y4fq\n" | 277 "6j081sa+J/uNz4xUuI257ZXM6biygUhhvuXK06/XoIULJfhyN0fAm1yb0HtNhiUs\n" |
230 "2TwXH9QANf4at4d9n/R6rzwpAJOpgwZgKvdQjkfrKTtgLV+/dawvpxUYkRH4JZM1\n" | 278 "kMOYeon6b8FqFaPjrQf7Gr9FMiIHXNK19uegTMKztXyPZoUWlX84X0iawY95x0Y3\n" |
231 "CVGukMfKNrSVH4Ap4QJBAOJmGV1ASPnB4r4nc99at7JuIJmd7fmuVUwUgYi4XgaR\n" | 279 "73f6P2rN2UOjlVVjAQJBAOKy3l2w3Zj2w0oAJox0eMwl+RxBNt1C42SHrob2mFUT\n" |
232 "WhScBsgYwZ/JoywdyZJgnbcrTDuVcWG56B3vXbhdpMsCQQDf9zeJrjnPZ3Cqm79y\n" | 280 "rytpVVYOasr8CoDI0kjacjI94sLum+buJoXXX6YTGO0CQQDdZwlYIEkoS3ftfxPa\n" |
233 "kdqANep0uwZciiNiWxsQrCHztywOvbFhdp8iYVFG9EK8DMY41Y5TxUwsHD+67zao\n" | 281 "Ai0YTBzAWvHJg0r8Gk/TkHo6IM+LSsZ9ZYUv/vBe4BKLw1I4hZ+bQvBiq+f8ROtk\n" |
234 "ZNqJAkEA1suLUP/GvL8IwuRneQd2tWDqqRQ/Td3qq03hP7e77XtF/buya3Ghclo5\n" | 282 "+TDRAkAPL3ghwoU1h+IRBO2QHwUwd6K2N9AbBi4BP+168O3HVSg4ujeTKigRLMzv\n" |
235 "54czUR89QyVfJEC6278nzA7n2h1uVQJAcG6mztNL6ja/dKZjYZye2CY44QjSlLo0\n" | 283 "T4R2iNt5bhfQgvdCgtVlxcWMdF8JAkBwDCg3eEdt5BuyjwBt8XH+/O4ED0KUWCTH\n" |
236 "MTgTSjdfg/28fFn2Jjtqf9Pi/X+50LWI/RcYMC2no606wRk9kyOuIQJBAK6VSAim\n" | 284 "x00k5dZlupsuhE5Fwe4QpzXg3gekwdnHjyCCQ/NCDHvgOMTkmhQxAkA9V03KRX9b\n" |
237 "1pOEjsYQn0X5KEIrz1G3bfCbB848Ime3U2/FWlCHMr6ch8kCZ5d1WUeJD3LbwMNG\n" | 285 "bhvEzY/fu8gEp+EzsER96/D79az5z1BaMGL5OPM2xHBPJATKlswnAa7Lp3QKGZGk\n" |
238 "UCXiYxSsu20QNVw=\n" | 286 "TxslfL18J71s\n" |
239 "-----END RSA PRIVATE KEY-----\n"; | 287 "-----END PRIVATE KEY-----\n"; |
240 | 288 static const char kRSA_PUBLIC_KEY_PEM[] = |
289 "-----BEGIN PUBLIC KEY-----\n" | |
290 "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDED6g0rUZWHg6ZF3q0Zr/mtZ2j\n" | |
291 "PL0lUmNIBtqZZ656H1YlkVtzEalgvtNtDLCI94T2XkgJ7f8vxS/56+BGuzV3MHUa\n" | |
292 "Nf9cRCu1P3/3I0oNWrp8rxwh8HBXDK99Ryxbx69GYHBcG4CLhSzRJe5CuRzDvQD8\n" | |
293 "9Z7VI3pPAZgY/MjJfQIDAQAB\n" | |
294 "-----END PUBLIC KEY-----\n"; | |
241 static const char kCERT_PEM[] = | 295 static const char kCERT_PEM[] = |
242 "-----BEGIN CERTIFICATE-----\n" | 296 "-----BEGIN CERTIFICATE-----\n" |
243 "MIIBmTCCAQKgAwIBAgIEbzBSAjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZX\n" | 297 "MIIBnDCCAQWgAwIBAgIJAOEHLgeWYwrpMA0GCSqGSIb3DQEBCwUAMBAxDjAMBgNV\n" |
244 "ZWJSVEMwHhcNMTQwMTAyMTgyNDQ3WhcNMTQwMjAxMTgyNDQ3WjARMQ8wDQYDVQQD\n" | 298 "BAMMBXRlc3QxMB4XDTE2MDQyNDE4MTAyMloXDTE2MDUyNTE4MTAyMlowEDEOMAwG\n" |
245 "EwZXZWJSVEMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMYRkbhmI7kVA/rM\n" | 299 "A1UEAwwFdGVzdDEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMQPqDStRlYe\n" |
246 "czsZ+6JDhDvnkF+vn6yCAGuRPV03zuRqZtDy4N4to7PZu9PjqrRl7nDMXrG3YG9y\n" | 300 "DpkXerRmv+a1naM8vSVSY0gG2plnrnofViWRW3MRqWC+020MsIj3hPZeSAnt/y/F\n" |
247 "rlIAZ72KjcKKFAJxQyAKLCIdawKRyp8RdK3LEySWEZb0AV58IadqPZDTNHHRX8dz\n" | 301 "L/nr4Ea7NXcwdRo1/1xEK7U/f/cjSg1aunyvHCHwcFcMr31HLFvHr0ZgcFwbgIuF\n" |
248 "5aTSMsbbkZ+C/OzTnbiMqLL/vg6jAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUflI\n" | 302 "LNEl7kK5HMO9APz1ntUjek8BmBj8yMl9AgMBAAEwDQYJKoZIhvcNAQELBQADgYEA\n" |
249 "VUe5Krqf5RVa5C3u/UTAOAUJBiDS3VANTCLBxjuMsvqOG0WvaYWP3HYPgrz0jXK2\n" | 303 "C3ehaZFl+oEYN069C2ht/gMzuC77L854RF/x7xRtNZzkcg9TVgXXdM3auUvJi8dx\n" |
250 "LJE/mGw3MyFHEqi81jh95J+ypl6xKW6Rm8jKLR87gUvCaVYn/Z4/P3AqcQTB7wOv\n" | 304 "yTpU3ixErjQvoZew5ngXTEvTY8BSQUijJEaLWh8n6NDKRbEGTdAk8nPAmq9hdCFq\n" |
251 "UD0A8qfhfDM+LK6rPAnCsVN0NRDY3jvd6rzix9M=\n" | 305 "e3UkexqNHm3g/VxG4NUC1Y+w29ai0/Rgh+VvgbDwK+Q=\n" |
252 "-----END CERTIFICATE-----\n"; | 306 "-----END CERTIFICATE-----\n"; |
253 | 307 |
254 rtc::scoped_ptr<SSLIdentity> identity( | 308 rtc::scoped_ptr<SSLIdentity> identity( |
255 SSLIdentity::FromPEMStrings(kRSA_PRIVATE_KEY_PEM, kCERT_PEM)); | 309 SSLIdentity::FromPEMStrings(kRSA_PRIVATE_KEY_PEM, kCERT_PEM)); |
256 EXPECT_TRUE(identity); | 310 EXPECT_TRUE(identity); |
311 EXPECT_EQ(kRSA_PRIVATE_KEY_PEM, identity->PrivateKeyToPEMString()); | |
312 EXPECT_EQ(kRSA_PUBLIC_KEY_PEM, identity->PublicKeyToPEMString()); | |
257 EXPECT_EQ(kCERT_PEM, identity->certificate().ToPEMString()); | 313 EXPECT_EQ(kCERT_PEM, identity->certificate().ToPEMString()); |
258 } | 314 } |
259 | 315 |
260 TEST_F(SSLIdentityTest, FromPEMStringsEC) { | 316 TEST_F(SSLIdentityTest, FromPEMStringsEC) { |
261 static const char kRSA_PRIVATE_KEY_PEM[] = | 317 // These PEM strings were created by generating an identity with |
262 "-----BEGIN EC PRIVATE KEY-----\n" | 318 // |SSLIdentity::Generate| and invoking |identity->PrivateKeyToPEMString()|, |
263 "MHcCAQEEIKkIztWLPbs4Y2zWv7VW2Ov4is2ifleCuPgRB8fRv3IkoAoGCCqGSM49\n" | 319 // |identity->PublicKeyToPEMString()| and |
264 "AwEHoUQDQgAEDPV33NrhSdhg9cBRkUWUXnVMXc3h17i9ARbSmNgminKcBXb8/y8L\n" | 320 // |identity->certificate().ToPEMString()|. |
265 "A76cMWQPPM0ybHO8OS7ZVg2U/m+TwE1M2g==\n" | 321 static const char kECDSA_PRIVATE_KEY_PEM[] = |
266 "-----END EC PRIVATE KEY-----\n"; | 322 "-----BEGIN PRIVATE KEY-----\n" |
323 "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg/AkEA2hklq7dQ2rN\n" | |
324 "ZxYL6hOUACL4pn7P4FYlA3ZQhIChRANCAAR7YgdO3utP/8IqVRq8G4VZKreMAxeN\n" | |
325 "rUa12twthv4uFjuHAHa9D9oyAjncmn+xvZZRyVmKrA56jRzENcEEHoAg\n" | |
326 "-----END PRIVATE KEY-----\n"; | |
327 static const char kECDSA_PUBLIC_KEY_PEM[] = | |
328 "-----BEGIN PUBLIC KEY-----\n" | |
329 "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEe2IHTt7rT//CKlUavBuFWSq3jAMX\n" | |
330 "ja1GtdrcLYb+LhY7hwB2vQ/aMgI53Jp/sb2WUclZiqwOeo0cxDXBBB6AIA==\n" | |
331 "-----END PUBLIC KEY-----\n"; | |
267 static const char kCERT_PEM[] = | 332 static const char kCERT_PEM[] = |
268 "-----BEGIN CERTIFICATE-----\n" | 333 "-----BEGIN CERTIFICATE-----\n" |
269 "MIIB0jCCAXmgAwIBAgIJAMCjpFt9t6LMMAoGCCqGSM49BAMCMEUxCzAJBgNVBAYT\n" | 334 "MIIBFDCBu6ADAgECAgkArpkxjw62sW4wCgYIKoZIzj0EAwIwEDEOMAwGA1UEAwwF\n" |
270 "AkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRn\n" | 335 "dGVzdDMwHhcNMTYwNDI0MTgxNDM4WhcNMTYwNTI1MTgxNDM4WjAQMQ4wDAYDVQQD\n" |
271 "aXRzIFB0eSBMdGQwIBcNMTUwNjMwMTMwMTIyWhgPMjI4OTA0MTMxMzAxMjJaMEUx\n" | 336 "DAV0ZXN0MzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHtiB07e60//wipVGrwb\n" |
272 "CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl\n" | 337 "hVkqt4wDF42tRrXa3C2G/i4WO4cAdr0P2jICOdyaf7G9llHJWYqsDnqNHMQ1wQQe\n" |
273 "cm5ldCBXaWRnaXRzIFB0eSBMdGQwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQM\n" | 338 "gCAwCgYIKoZIzj0EAwIDSAAwRQIhANyreQ/K5yuPPpirsd0e/4WGLHou6bIOSQks\n" |
274 "9Xfc2uFJ2GD1wFGRRZRedUxdzeHXuL0BFtKY2CaKcpwFdvz/LwsDvpwxZA88zTJs\n" | 339 "DYzo56NmAiAKOr3u8ol3LmygbUCwEvtWrS8QcJDygxHPACo99hkekw==\n" |
275 "c7w5LtlWDZT+b5PATUzao1AwTjAdBgNVHQ4EFgQUYHq6nxNNIE832ZmaHc/noODO\n" | |
276 "rtAwHwYDVR0jBBgwFoAUYHq6nxNNIE832ZmaHc/noODOrtAwDAYDVR0TBAUwAwEB\n" | |
277 "/zAKBggqhkjOPQQDAgNHADBEAiAQRojsTyZG0BlKoU7gOt5h+yAMLl2cxmDtOIQr\n" | |
278 "GWP/PwIgJynB4AUDsPT0DWmethOXYijB5sY5UPd9DvgmiS/Mr6s=\n" | |
279 "-----END CERTIFICATE-----\n"; | 340 "-----END CERTIFICATE-----\n"; |
280 | 341 |
281 rtc::scoped_ptr<SSLIdentity> identity( | 342 rtc::scoped_ptr<SSLIdentity> identity( |
282 SSLIdentity::FromPEMStrings(kRSA_PRIVATE_KEY_PEM, kCERT_PEM)); | 343 SSLIdentity::FromPEMStrings(kECDSA_PRIVATE_KEY_PEM, kCERT_PEM)); |
283 EXPECT_TRUE(identity); | 344 EXPECT_TRUE(identity); |
345 EXPECT_EQ(kECDSA_PRIVATE_KEY_PEM, identity->PrivateKeyToPEMString()); | |
346 EXPECT_EQ(kECDSA_PUBLIC_KEY_PEM, identity->PublicKeyToPEMString()); | |
284 EXPECT_EQ(kCERT_PEM, identity->certificate().ToPEMString()); | 347 EXPECT_EQ(kCERT_PEM, identity->certificate().ToPEMString()); |
285 } | 348 } |
286 | 349 |
350 TEST_F(SSLIdentityTest, CloneIdentityRSA) { | |
351 TestCloningIdentity(*identity_rsa1_); | |
352 TestCloningIdentity(*identity_rsa2_); | |
353 } | |
354 | |
355 TEST_F(SSLIdentityTest, CloneIdentityECDSA) { | |
356 TestCloningIdentity(*identity_ecdsa1_); | |
357 TestCloningIdentity(*identity_ecdsa2_); | |
358 } | |
359 | |
287 TEST_F(SSLIdentityTest, PemDerConversion) { | 360 TEST_F(SSLIdentityTest, PemDerConversion) { |
288 std::string der; | 361 std::string der; |
289 EXPECT_TRUE(SSLIdentity::PemToDer("CERTIFICATE", kTestCertificate, &der)); | 362 EXPECT_TRUE(SSLIdentity::PemToDer("CERTIFICATE", kTestCertificate, &der)); |
290 | 363 |
291 EXPECT_EQ(kTestCertificate, SSLIdentity::DerToPem( | 364 EXPECT_EQ(kTestCertificate, SSLIdentity::DerToPem( |
292 "CERTIFICATE", | 365 "CERTIFICATE", |
293 reinterpret_cast<const unsigned char*>(der.data()), der.length())); | 366 reinterpret_cast<const unsigned char*>(der.data()), der.length())); |
294 } | 367 } |
295 | 368 |
296 TEST_F(SSLIdentityTest, GetSignatureDigestAlgorithm) { | 369 TEST_F(SSLIdentityTest, GetSignatureDigestAlgorithm) { |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
408 } | 481 } |
409 }; | 482 }; |
410 | 483 |
411 TEST_F(SSLIdentityExpirationTest, TestASN1TimeToSec) { | 484 TEST_F(SSLIdentityExpirationTest, TestASN1TimeToSec) { |
412 TestASN1TimeToSec(); | 485 TestASN1TimeToSec(); |
413 } | 486 } |
414 | 487 |
415 TEST_F(SSLIdentityExpirationTest, TestExpireTime) { | 488 TEST_F(SSLIdentityExpirationTest, TestExpireTime) { |
416 TestExpireTime(500); | 489 TestExpireTime(500); |
417 } | 490 } |
OLD | NEW |