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

Side by Side Diff: net/cert/internal/parse_certificate_unittest.cc

Issue 1969293002: Remove net::ParsedCertificate struct. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « net/cert/internal/parse_certificate_fuzzer.cc ('k') | net/cert/internal/parse_ocsp.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/cert/internal/parse_certificate.h" 5 #include "net/cert/internal/parse_certificate.h"
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "net/cert/internal/test_helpers.h" 8 #include "net/cert/internal/test_helpers.h"
9 #include "net/der/input.h" 9 #include "net/der/input.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 27 matching lines...) Expand all
38 // Read the certificate data and test expectations from a single PEM file. 38 // Read the certificate data and test expectations from a single PEM file.
39 const PemBlockMapping mappings[] = { 39 const PemBlockMapping mappings[] = {
40 {"CERTIFICATE", &data}, 40 {"CERTIFICATE", &data},
41 {"SIGNATURE", &expected_signature}, 41 {"SIGNATURE", &expected_signature},
42 {"SIGNATURE ALGORITHM", &expected_signature_algorithm}, 42 {"SIGNATURE ALGORITHM", &expected_signature_algorithm},
43 {"TBS CERTIFICATE", &expected_tbs_certificate}, 43 {"TBS CERTIFICATE", &expected_tbs_certificate},
44 }; 44 };
45 ASSERT_TRUE(ReadTestDataFromPemFile(GetFilePath(file_name), mappings)); 45 ASSERT_TRUE(ReadTestDataFromPemFile(GetFilePath(file_name), mappings));
46 46
47 // Parsing the certificate should succeed. 47 // Parsing the certificate should succeed.
48 ParsedCertificate parsed; 48 der::Input tbs_certificate_tlv;
49 ASSERT_TRUE(ParseCertificate(der::Input(&data), &parsed)); 49 der::Input signature_algorithm_tlv;
50 der::BitString signature_value;
51 ASSERT_TRUE(ParseCertificate(der::Input(&data), &tbs_certificate_tlv,
52 &signature_algorithm_tlv, &signature_value));
50 53
51 // Ensure that the ParsedCertificate matches expectations. 54 // Ensure that the parsed certificate matches expectations.
52 EXPECT_EQ(0, parsed.signature_value.unused_bits()); 55 EXPECT_EQ(0, signature_value.unused_bits());
53 EXPECT_EQ(der::Input(&expected_signature), parsed.signature_value.bytes()); 56 EXPECT_EQ(der::Input(&expected_signature), signature_value.bytes());
54 EXPECT_EQ(der::Input(&expected_signature_algorithm), 57 EXPECT_EQ(der::Input(&expected_signature_algorithm), signature_algorithm_tlv);
55 parsed.signature_algorithm_tlv); 58 EXPECT_EQ(der::Input(&expected_tbs_certificate), tbs_certificate_tlv);
56 EXPECT_EQ(der::Input(&expected_tbs_certificate), parsed.tbs_certificate_tlv);
57 } 59 }
58 60
59 // Loads certificate data from the PEM file |file_name| and verifies that the 61 // Loads certificate data from the PEM file |file_name| and verifies that the
60 // Certificate parsing fails. 62 // Certificate parsing fails.
61 void EnsureParsingCertificateFails(const std::string& file_name) { 63 void EnsureParsingCertificateFails(const std::string& file_name) {
62 std::string data; 64 std::string data;
63 65
64 const PemBlockMapping mappings[] = { 66 const PemBlockMapping mappings[] = {
65 {"CERTIFICATE", &data}, 67 {"CERTIFICATE", &data},
66 }; 68 };
67 69
68 ASSERT_TRUE(ReadTestDataFromPemFile(GetFilePath(file_name), mappings)); 70 ASSERT_TRUE(ReadTestDataFromPemFile(GetFilePath(file_name), mappings));
69 71
70 // Parsing the Certificate should fail. 72 // Parsing the Certificate should fail.
71 ParsedCertificate parsed; 73 der::Input tbs_certificate_tlv;
72 ASSERT_FALSE(ParseCertificate(der::Input(&data), &parsed)); 74 der::Input signature_algorithm_tlv;
75 der::BitString signature_value;
76 ASSERT_FALSE(ParseCertificate(der::Input(&data), &tbs_certificate_tlv,
77 &signature_algorithm_tlv, &signature_value));
73 } 78 }
74 79
75 // Tests parsing a Certificate. 80 // Tests parsing a Certificate.
76 TEST(ParseCertificateTest, Version3) { 81 TEST(ParseCertificateTest, Version3) {
77 EnsureParsingCertificateSucceeds("cert_version3.pem"); 82 EnsureParsingCertificateSucceeds("cert_version3.pem");
78 } 83 }
79 84
80 // Tests parsing a simplified Certificate-like structure (the sub-fields for 85 // Tests parsing a simplified Certificate-like structure (the sub-fields for
81 // algorithm and tbsCertificate are not actually valid, but ParseCertificate() 86 // algorithm and tbsCertificate are not actually valid, but ParseCertificate()
82 // doesn't check them) 87 // doesn't check them)
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 0x00, // Number of unused bits 786 0x00, // Number of unused bits
782 }; 787 };
783 788
784 der::BitString key_usage; 789 der::BitString key_usage;
785 ASSERT_FALSE(ParseKeyUsage(der::Input(der), &key_usage)); 790 ASSERT_FALSE(ParseKeyUsage(der::Input(der), &key_usage));
786 } 791 }
787 792
788 } // namespace 793 } // namespace
789 794
790 } // namespace net 795 } // namespace net
OLDNEW
« no previous file with comments | « net/cert/internal/parse_certificate_fuzzer.cc ('k') | net/cert/internal/parse_ocsp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698