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

Side by Side Diff: net/quic/core/crypto/channel_id.cc

Issue 2451433002: Change scoped_ptr_openssl_void (et al.) → bssl::UniquePtr (Closed)
Patch Set: rebase-update Created 4 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
« no previous file with comments | « no previous file | net/tools/quic/test_tools/quic_test_client.cc » ('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 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/quic/core/crypto/channel_id.h" 5 #include "net/quic/core/crypto/channel_id.h"
6 6
7 #include "crypto/openssl_util.h" 7 #include "crypto/openssl_util.h"
8 #include "third_party/boringssl/src/include/openssl/bn.h" 8 #include "third_party/boringssl/src/include/openssl/bn.h"
9 #include "third_party/boringssl/src/include/openssl/ec.h" 9 #include "third_party/boringssl/src/include/openssl/ec.h"
10 #include "third_party/boringssl/src/include/openssl/ec_key.h" 10 #include "third_party/boringssl/src/include/openssl/ec_key.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 reinterpret_cast<const uint8_t*>(signature.data()); 54 reinterpret_cast<const uint8_t*>(signature.data());
55 55
56 if (BN_bin2bn(key_bytes + 0, 32, x.get()) == nullptr || 56 if (BN_bin2bn(key_bytes + 0, 32, x.get()) == nullptr ||
57 BN_bin2bn(key_bytes + 32, 32, y.get()) == nullptr || 57 BN_bin2bn(key_bytes + 32, 32, y.get()) == nullptr ||
58 BN_bin2bn(signature_bytes + 0, 32, sig.r) == nullptr || 58 BN_bin2bn(signature_bytes + 0, 32, sig.r) == nullptr ||
59 BN_bin2bn(signature_bytes + 32, 32, sig.s) == nullptr) { 59 BN_bin2bn(signature_bytes + 32, 32, sig.s) == nullptr) {
60 return false; 60 return false;
61 } 61 }
62 62
63 bssl::UniquePtr<EC_POINT> point(EC_POINT_new(p256.get())); 63 bssl::UniquePtr<EC_POINT> point(EC_POINT_new(p256.get()));
64 if (!point || 64 if (point.get() == nullptr ||
65 !EC_POINT_set_affine_coordinates_GFp(p256.get(), point.get(), x.get(), 65 !EC_POINT_set_affine_coordinates_GFp(p256.get(), point.get(), x.get(),
66 y.get(), nullptr)) { 66 y.get(), nullptr)) {
67 return false; 67 return false;
68 } 68 }
69 69
70 bssl::UniquePtr<EC_KEY> ecdsa_key(EC_KEY_new()); 70 bssl::UniquePtr<EC_KEY> ecdsa_key(EC_KEY_new());
71 if (ecdsa_key.get() == nullptr || 71 if (ecdsa_key.get() == nullptr ||
72 !EC_KEY_set_group(ecdsa_key.get(), p256.get()) || 72 !EC_KEY_set_group(ecdsa_key.get(), p256.get()) ||
73 !EC_KEY_set_public_key(ecdsa_key.get(), point.get())) { 73 !EC_KEY_set_public_key(ecdsa_key.get(), point.get())) {
74 return false; 74 return false;
75 } 75 }
76 76
77 SHA256_CTX sha256; 77 SHA256_CTX sha256;
78 SHA256_Init(&sha256); 78 SHA256_Init(&sha256);
79 if (is_channel_id_signature) { 79 if (is_channel_id_signature) {
80 SHA256_Update(&sha256, kContextStr, strlen(kContextStr) + 1); 80 SHA256_Update(&sha256, kContextStr, strlen(kContextStr) + 1);
81 SHA256_Update(&sha256, kClientToServerStr, strlen(kClientToServerStr) + 1); 81 SHA256_Update(&sha256, kClientToServerStr, strlen(kClientToServerStr) + 1);
82 } 82 }
83 SHA256_Update(&sha256, signed_data.data(), signed_data.size()); 83 SHA256_Update(&sha256, signed_data.data(), signed_data.size());
84 84
85 unsigned char digest[SHA256_DIGEST_LENGTH]; 85 unsigned char digest[SHA256_DIGEST_LENGTH];
86 SHA256_Final(digest, &sha256); 86 SHA256_Final(digest, &sha256);
87 87
88 return ECDSA_do_verify(digest, sizeof(digest), &sig, ecdsa_key.get()) == 1; 88 return ECDSA_do_verify(digest, sizeof(digest), &sig, ecdsa_key.get()) == 1;
89 } 89 }
90 90
91 } // namespace net 91 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/tools/quic/test_tools/quic_test_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698