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

Side by Side Diff: net/test/ct_test_util.cc

Issue 55953002: CT: Adding SCT verification functionality: A CTLogVerifier instance can verify SCTs signed by a sin… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sorting out const castness Created 7 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 unified diff | Download patch
« net/cert/ct_log_verifier_openssl.cc ('K') | « net/test/ct_test_util.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/test/ct_test_util.h" 5 #include "net/test/ct_test_util.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 "1d0e041604146a0d982a3b62c44b6d2ef4e9bb7a01aa9cb798e2307d0603551d2304763074" 46 "1d0e041604146a0d982a3b62c44b6d2ef4e9bb7a01aa9cb798e2307d0603551d2304763074"
47 "80145f9d880dc873e654d4f80dd8e6b0c124b447c355a159a4573055310b30090603550406" 47 "80145f9d880dc873e654d4f80dd8e6b0c124b447c355a159a4573055310b30090603550406"
48 "1302474231243022060355040a131b4365727469666963617465205472616e73706172656e" 48 "1302474231243022060355040a131b4365727469666963617465205472616e73706172656e"
49 "6379204341310e300c0603550408130557616c65733110300e060355040713074572772057" 49 "6379204341310e300c0603550408130557616c65733110300e060355040713074572772057"
50 "656e82010030090603551d1304023000300d06092a864886f70d010105050003818100171c" 50 "656e82010030090603551d1304023000300d06092a864886f70d010105050003818100171c"
51 "d84aac414a9a030f22aac8f688b081b2709b848b4e5511406cd707fed028597a9faefc2eee" 51 "d84aac414a9a030f22aac8f688b081b2709b848b4e5511406cd707fed028597a9faefc2eee"
52 "2978d633aaac14ed3235197da87e0f71b8875f1ac9e78b281749ddedd007e3ecf50645f8cb" 52 "2978d633aaac14ed3235197da87e0f71b8875f1ac9e78b281749ddedd007e3ecf50645f8cb"
53 "f667256cd6a1647b5e13203bb8582de7d6696f656d1c60b95f456b7fcf338571908f1c6972" 53 "f667256cd6a1647b5e13203bb8582de7d6696f656d1c60b95f456b7fcf338571908f1c6972"
54 "7d24c4fccd249295795814d1dac0e6"; 54 "7d24c4fccd249295795814d1dac0e6";
55 55
56 const char kDefaultKeyHash[] = 56 const char kDefaultIssuerKeyHash[] =
57 "2518ce9dcf869f18562d21cf7d040cbacc75371f019f8bea8cbe2f5f6619472d"; 57 "02adddca08b8bf9861f035940c940156d8350fdff899a6239c6bd77255b8f8fc";
58 58
59 const char kDefaultDerTbsCert[] = 59 const char kDefaultDerTbsCert[] =
60 "30820233a003020102020107300d06092a864886f70d01010505003055310b300906035504" 60 "30820233a003020102020107300d06092a864886f70d01010505003055310b300906035504"
61 "061302474231243022060355040a131b4365727469666963617465205472616e7370617265" 61 "061302474231243022060355040a131b4365727469666963617465205472616e7370617265"
62 "6e6379204341310e300c0603550408130557616c65733110300e0603550407130745727720" 62 "6e6379204341310e300c0603550408130557616c65733110300e0603550407130745727720"
63 "57656e301e170d3132303630313030303030305a170d3232303630313030303030305a3052" 63 "57656e301e170d3132303630313030303030305a170d3232303630313030303030305a3052"
64 "310b30090603550406130247423121301f060355040a131843657274696669636174652054" 64 "310b30090603550406130247423121301f060355040a131843657274696669636174652054"
65 "72616e73706172656e6379310e300c0603550408130557616c65733110300e060355040713" 65 "72616e73706172656e6379310e300c0603550408130557616c65733110300e060355040713"
66 "074572772057656e30819f300d06092a864886f70d010101050003818d0030818902818100" 66 "074572772057656e30819f300d06092a864886f70d010101050003818d0030818902818100"
67 "bed8893cc8f177efc548df4961443f999aeda90471992f818bf8b61d0df19d6eec3d596c9b" 67 "beef98e7c26877ae385f75325a0c1d329bedf18faaf4d796bf047eb7e1ce15c95ba2f80ee4"
68 "43e60033a501c8cffcc438f49f5edb3662aaaecf180e7c9b59fc4bd465c18c406b3b70cdde" 68 "58bd7db86f8a4b252191a79bd700c38e9c0389b45cd4dc9a120ab21e0cb41cd0e72805a410"
69 "52d5dec42aaef913c2173592c76130f2399de6ccd6e75e04ccea7d7e4bdf4bacb16b5fe697" 69 "cd9c5bdb5d4927726daf1710f60187377ea25b1a1e39eed0b88119dc154dc68f7da8e30caf"
70 "2974bca8bcb3e8468dec941e945fdf98310203010001a381ac3081a9301d0603551d0e0416" 70 "158a33e6c9509f4a05b01409ff5dd87eb50203010001a381ac3081a9301d0603551d0e0416"
71 "0414a4998f6b0abefd0e549bd56f221da976d0ce57d6307d0603551d230476307480143633" 71 "04142031541af25c05ffd8658b6843794f5e9036f7b4307d0603551d230476307480145f9d"
72 "1299dbdc389d1cccfe31c08b8932501a8f7ca159a4573055310b3009060355040613024742" 72 "880dc873e654d4f80dd8e6b0c124b447c355a159a4573055310b3009060355040613024742"
73 "31243022060355040a131b4365727469666963617465205472616e73706172656e63792043" 73 "31243022060355040a131b4365727469666963617465205472616e73706172656e63792043"
74 "41310e300c0603550408130557616c65733110300e060355040713074572772057656e8201" 74 "41310e300c0603550408130557616c65733110300e060355040713074572772057656e8201"
75 "0030090603551d1304023000"; 75 "0030090603551d1304023000";
76 76
77 const char kTestDigitallySigned[] = 77 const char kTestDigitallySigned[] =
78 "0403004730450220606e10ae5c2d5a1b0aed49dc4937f48de71a4e9784e9c208dfbfe9ef53" 78 "0403004730450220606e10ae5c2d5a1b0aed49dc4937f48de71a4e9784e9c208dfbfe9ef53"
79 "6cf7f2022100beb29c72d7d06d61d06bdb38a069469aa86fe12e18bb7cc45689a2c0187ef5" 79 "6cf7f2022100beb29c72d7d06d61d06bdb38a069469aa86fe12e18bb7cc45689a2c0187ef5"
80 "a5"; 80 "a5";
81 81
82 const char kTestSignedCertificateTimestamp[] = 82 const char kTestSignedCertificateTimestamp[] =
83 "00df1c2ec11500945247a96168325ddc5c7959e8f7c6d388fc002e0bbd3f74d7640000013d" 83 "00df1c2ec11500945247a96168325ddc5c7959e8f7c6d388fc002e0bbd3f74d7640000013d"
84 "db27ded900000403004730450220606e10ae5c2d5a1b0aed49dc4937f48de71a4e9784e9c2" 84 "db27ded900000403004730450220606e10ae5c2d5a1b0aed49dc4937f48de71a4e9784e9c2"
85 "08dfbfe9ef536cf7f2022100beb29c72d7d06d61d06bdb38a069469aa86fe12e18bb7cc456" 85 "08dfbfe9ef536cf7f2022100beb29c72d7d06d61d06bdb38a069469aa86fe12e18bb7cc456"
86 "89a2c0187ef5a5"; 86 "89a2c0187ef5a5";
87 87
88 const char kEcP256PublicKey[] =
89 "3059301306072a8648ce3d020106082a8648ce3d0301070342000499783cb14533c0161a5a"
90 "b45bf95d08a29cd0ea8dd4c84274e2be59ad15c676960cf0afa1074a57ac644b23479e5b3f"
91 "b7b245eb4b420ef370210371a944beaceb";
92
93 const char kTestKeyId[] =
94 "df1c2ec11500945247a96168325ddc5c7959e8f7c6d388fc002e0bbd3f74d764";
95
96 const char kTestSCTSignatureData[] =
97 "30450220606e10ae5c2d5a1b0aed49dc4937f48de71a4e9784e9c208dfbfe9ef536cf7f202"
98 "2100beb29c72d7d06d61d06bdb38a069469aa86fe12e18bb7cc45689a2c0187ef5a5";
99
100 const char kTestSCTPrecertSignatureData[] =
101 "30450220482f6751af35dba65436be1fd6640f3dbf9a41429495924530288fa3e5e23e0602"
102 "2100e4edc0db3ac572b1e2f5e8ab6a680653987dcf41027dfeffa105519d89edbf08";
103
88 } // namespace 104 } // namespace
89 105
90 void GetX509CertLogEntry(LogEntry* entry) { 106 void GetX509CertLogEntry(LogEntry* entry) {
91 entry->type = ct::LogEntry::LOG_ENTRY_TYPE_X509; 107 entry->type = ct::LogEntry::LOG_ENTRY_TYPE_X509;
92 entry->leaf_certificate = HexToBytes(kDefaultDerCert); 108 entry->leaf_certificate = HexToBytes(kDefaultDerCert);
93 } 109 }
94 110
95 void GetPrecertLogEntry(LogEntry* entry) { 111 void GetPrecertLogEntry(LogEntry* entry) {
96 entry->type = ct::LogEntry::LOG_ENTRY_TYPE_PRECERT; 112 entry->type = ct::LogEntry::LOG_ENTRY_TYPE_PRECERT;
97 std::string issuer_hash(HexToBytes(kDefaultKeyHash)); 113 std::string issuer_hash(HexToBytes(kDefaultIssuerKeyHash));
98 memcpy(entry->issuer_key_hash.data, issuer_hash.data(), issuer_hash.size()); 114 memcpy(entry->issuer_key_hash.data, issuer_hash.data(), issuer_hash.size());
99 entry->tbs_certificate = HexToBytes(kDefaultDerTbsCert); 115 entry->tbs_certificate = HexToBytes(kDefaultDerTbsCert);
100 } 116 }
101 117
102 std::string GetTestDigitallySigned() { 118 std::string GetTestDigitallySigned() {
103 return HexToBytes(kTestDigitallySigned); 119 return HexToBytes(kTestDigitallySigned);
104 } 120 }
105 121
106 std::string GetTestSignedCertificateTimestamp() { 122 std::string GetTestSignedCertificateTimestamp() {
107 return HexToBytes(kTestSignedCertificateTimestamp); 123 return HexToBytes(kTestSignedCertificateTimestamp);
108 } 124 }
109 125
126 std::string GetTestPublicKey() {
127 return HexToBytes(kEcP256PublicKey);
128 }
129
130 std::string GetTestPublicKeyId() {
131 return HexToBytes(kTestKeyId);
132 }
133
134 void GetX509CertSCT(SignedCertificateTimestamp* sct) {
135 sct->log_id = HexToBytes(kTestKeyId);
136 sct->timestamp = base::Time::UnixEpoch() +
137 base::TimeDelta::FromMilliseconds(GG_UINT64_C(1365181456089));
138 sct->extensions.clear();
139
140 sct->signature.hash_algorithm = ct::DigitallySigned::HASH_ALGO_SHA256;
141 sct->signature.signature_algorithm = ct::DigitallySigned::SIG_ALGO_ECDSA;
142 sct->signature.signature_data = HexToBytes(kTestSCTSignatureData);
143 }
144
145 void GetPrecertSCT(SignedCertificateTimestamp* sct) {
146 sct->log_id = HexToBytes(kTestKeyId);
147 sct->timestamp = base::Time::UnixEpoch() +
148 base::TimeDelta::FromMilliseconds(GG_UINT64_C(1365181456275));
149 sct->extensions.clear();
150
151 sct->signature.hash_algorithm = ct::DigitallySigned::HASH_ALGO_SHA256;
152 sct->signature.signature_algorithm = ct::DigitallySigned::SIG_ALGO_ECDSA;
153 sct->signature.signature_data = HexToBytes(kTestSCTPrecertSignatureData);
154 }
155
110 } // namespace ct 156 } // namespace ct
111 157
112 } // namespace net 158 } // namespace net
OLDNEW
« net/cert/ct_log_verifier_openssl.cc ('K') | « net/test/ct_test_util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698