Commit e573a56e authored by Josh Nohle's avatar Josh Nohle Committed by Commit Bot

[Nearby] Add copy constructor to private certificate class

A NearbySharePrivateCertificate copy constructor will be necessary for
testing.

Change-Id: Ib82c7be478b6a27218e7fad13832da74db285fba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2330049
Commit-Queue: Josh Nohle <nohle@chromium.org>
Commit-Queue: James Vecore <vecore@google.com>
Auto-Submit: Josh Nohle <nohle@chromium.org>
Reviewed-by: default avatarJames Vecore <vecore@google.com>
Cr-Commit-Position: refs/heads/master@{#793658}
parent 6b1ca238
...@@ -176,7 +176,35 @@ NearbySharePrivateCertificate::NearbySharePrivateCertificate( ...@@ -176,7 +176,35 @@ NearbySharePrivateCertificate::NearbySharePrivateCertificate(
} }
NearbySharePrivateCertificate::NearbySharePrivateCertificate( NearbySharePrivateCertificate::NearbySharePrivateCertificate(
NearbySharePrivateCertificate&&) = default; const NearbySharePrivateCertificate& other) {
*this = other;
}
NearbySharePrivateCertificate& NearbySharePrivateCertificate::operator=(
const NearbySharePrivateCertificate& other) {
if (this == &other)
return *this;
visibility_ = other.visibility_;
not_before_ = other.not_before_;
not_after_ = other.not_after_;
key_pair_ = other.key_pair_->Copy();
secret_key_ = crypto::SymmetricKey::Import(
crypto::SymmetricKey::Algorithm::AES, other.secret_key_->key());
metadata_encryption_key_ = other.metadata_encryption_key_;
id_ = other.id_;
unencrypted_metadata_ = other.unencrypted_metadata_;
consumed_salts_ = other.consumed_salts_;
next_salts_for_testing_ = other.next_salts_for_testing_;
offset_for_testing_ = other.offset_for_testing_;
return *this;
}
NearbySharePrivateCertificate::NearbySharePrivateCertificate(
NearbySharePrivateCertificate&& other) = default;
NearbySharePrivateCertificate& NearbySharePrivateCertificate::operator=(
NearbySharePrivateCertificate&& other) = default;
NearbySharePrivateCertificate::~NearbySharePrivateCertificate() = default; NearbySharePrivateCertificate::~NearbySharePrivateCertificate() = default;
......
...@@ -58,7 +58,12 @@ class NearbySharePrivateCertificate { ...@@ -58,7 +58,12 @@ class NearbySharePrivateCertificate {
nearbyshare::proto::EncryptedMetadata unencrypted_metadata, nearbyshare::proto::EncryptedMetadata unencrypted_metadata,
std::set<std::vector<uint8_t>> consumed_salts); std::set<std::vector<uint8_t>> consumed_salts);
NearbySharePrivateCertificate(NearbySharePrivateCertificate&&); NearbySharePrivateCertificate(const NearbySharePrivateCertificate& other);
NearbySharePrivateCertificate& operator=(
const NearbySharePrivateCertificate& other);
NearbySharePrivateCertificate(NearbySharePrivateCertificate&& other);
NearbySharePrivateCertificate& operator=(
NearbySharePrivateCertificate&& other);
virtual ~NearbySharePrivateCertificate(); virtual ~NearbySharePrivateCertificate();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment