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

Side by Side Diff: webrtc/base/sslfingerprint.cc

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase + revert basictypes.h (to be landed separately just in case of a revert due to unexpected us… Created 5 years, 2 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 | « webrtc/base/sslfingerprint.h ('k') | webrtc/base/sslstreamadapter.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 /* 1 /*
2 * Copyright 2012 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2012 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 12 matching lines...) Expand all
23 const std::string& algorithm, const rtc::SSLIdentity* identity) { 23 const std::string& algorithm, const rtc::SSLIdentity* identity) {
24 if (!identity) { 24 if (!identity) {
25 return NULL; 25 return NULL;
26 } 26 }
27 27
28 return Create(algorithm, &(identity->certificate())); 28 return Create(algorithm, &(identity->certificate()));
29 } 29 }
30 30
31 SSLFingerprint* SSLFingerprint::Create( 31 SSLFingerprint* SSLFingerprint::Create(
32 const std::string& algorithm, const rtc::SSLCertificate* cert) { 32 const std::string& algorithm, const rtc::SSLCertificate* cert) {
33 uint8 digest_val[64]; 33 uint8_t digest_val[64];
34 size_t digest_len; 34 size_t digest_len;
35 bool ret = cert->ComputeDigest( 35 bool ret = cert->ComputeDigest(
36 algorithm, digest_val, sizeof(digest_val), &digest_len); 36 algorithm, digest_val, sizeof(digest_val), &digest_len);
37 if (!ret) { 37 if (!ret) {
38 return NULL; 38 return NULL;
39 } 39 }
40 40
41 return new SSLFingerprint(algorithm, digest_val, digest_len); 41 return new SSLFingerprint(algorithm, digest_val, digest_len);
42 } 42 }
43 43
44 SSLFingerprint* SSLFingerprint::CreateFromRfc4572( 44 SSLFingerprint* SSLFingerprint::CreateFromRfc4572(
45 const std::string& algorithm, const std::string& fingerprint) { 45 const std::string& algorithm, const std::string& fingerprint) {
46 if (algorithm.empty() || !rtc::IsFips180DigestAlgorithm(algorithm)) 46 if (algorithm.empty() || !rtc::IsFips180DigestAlgorithm(algorithm))
47 return NULL; 47 return NULL;
48 48
49 if (fingerprint.empty()) 49 if (fingerprint.empty())
50 return NULL; 50 return NULL;
51 51
52 size_t value_len; 52 size_t value_len;
53 char value[rtc::MessageDigest::kMaxSize]; 53 char value[rtc::MessageDigest::kMaxSize];
54 value_len = rtc::hex_decode_with_delimiter(value, sizeof(value), 54 value_len = rtc::hex_decode_with_delimiter(value, sizeof(value),
55 fingerprint.c_str(), 55 fingerprint.c_str(),
56 fingerprint.length(), 56 fingerprint.length(),
57 ':'); 57 ':');
58 if (!value_len) 58 if (!value_len)
59 return NULL; 59 return NULL;
60 60
61 return new SSLFingerprint(algorithm, 61 return new SSLFingerprint(algorithm, reinterpret_cast<uint8_t*>(value),
62 reinterpret_cast<uint8*>(value),
63 value_len); 62 value_len);
64 } 63 }
65 64
66 SSLFingerprint::SSLFingerprint( 65 SSLFingerprint::SSLFingerprint(const std::string& algorithm,
67 const std::string& algorithm, const uint8* digest_in, size_t digest_len) 66 const uint8_t* digest_in,
67 size_t digest_len)
68 : algorithm(algorithm) { 68 : algorithm(algorithm) {
69 digest.SetData(digest_in, digest_len); 69 digest.SetData(digest_in, digest_len);
70 } 70 }
71 71
72 SSLFingerprint::SSLFingerprint(const SSLFingerprint& from) 72 SSLFingerprint::SSLFingerprint(const SSLFingerprint& from)
73 : algorithm(from.algorithm), digest(from.digest) {} 73 : algorithm(from.algorithm), digest(from.digest) {}
74 74
75 bool SSLFingerprint::operator==(const SSLFingerprint& other) const { 75 bool SSLFingerprint::operator==(const SSLFingerprint& other) const {
76 return algorithm == other.algorithm && 76 return algorithm == other.algorithm &&
77 digest == other.digest; 77 digest == other.digest;
78 } 78 }
79 79
80 std::string SSLFingerprint::GetRfc4572Fingerprint() const { 80 std::string SSLFingerprint::GetRfc4572Fingerprint() const {
81 std::string fingerprint = 81 std::string fingerprint =
82 rtc::hex_encode_with_delimiter(digest.data<char>(), digest.size(), ':'); 82 rtc::hex_encode_with_delimiter(digest.data<char>(), digest.size(), ':');
83 std::transform(fingerprint.begin(), fingerprint.end(), 83 std::transform(fingerprint.begin(), fingerprint.end(),
84 fingerprint.begin(), ::toupper); 84 fingerprint.begin(), ::toupper);
85 return fingerprint; 85 return fingerprint;
86 } 86 }
87 87
88 std::string SSLFingerprint::ToString() { 88 std::string SSLFingerprint::ToString() {
89 std::string fp_str = algorithm; 89 std::string fp_str = algorithm;
90 fp_str.append(" "); 90 fp_str.append(" ");
91 fp_str.append(GetRfc4572Fingerprint()); 91 fp_str.append(GetRfc4572Fingerprint());
92 return fp_str; 92 return fp_str;
93 } 93 }
94 94
95 } // namespace rtc 95 } // namespace rtc
OLDNEW
« no previous file with comments | « webrtc/base/sslfingerprint.h ('k') | webrtc/base/sslstreamadapter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698