| Index: net/cert/internal/parse_certificate.cc
|
| diff --git a/net/cert/internal/parse_certificate.cc b/net/cert/internal/parse_certificate.cc
|
| index 738d91b13d256d7f43ac03c0449a04264029ee01..3a95652ae4341aa4bdab637e72cd0744bfeec821 100644
|
| --- a/net/cert/internal/parse_certificate.cc
|
| +++ b/net/cert/internal/parse_certificate.cc
|
| @@ -154,10 +154,47 @@ ParsedCertificate::ParsedCertificate() {}
|
|
|
| ParsedCertificate::~ParsedCertificate() {}
|
|
|
| +// XXX these "copy without reparsing" constructors are kind ugly. think about
|
| +// other options?
|
| +ParsedCertificate::ParsedCertificate(const ParsedCertificate& other,
|
| + const der::Input& old_data,
|
| + const der::Input& new_data)
|
| + : tbs_certificate_tlv(other.tbs_certificate_tlv, old_data, new_data),
|
| + signature_algorithm_tlv(other.signature_algorithm_tlv,
|
| + old_data,
|
| + new_data),
|
| + signature_value(
|
| + der::Input(other.signature_value.bytes(), old_data, new_data),
|
| + other.signature_value.unused_bits()) {}
|
| +
|
| ParsedTbsCertificate::ParsedTbsCertificate() {}
|
|
|
| ParsedTbsCertificate::~ParsedTbsCertificate() {}
|
|
|
| +ParsedTbsCertificate::ParsedTbsCertificate(const ParsedTbsCertificate& other,
|
| + const der::Input& old_data,
|
| + const der::Input& new_data)
|
| + : version(other.version),
|
| + serial_number(other.serial_number, old_data, new_data),
|
| + signature_algorithm_tlv(other.signature_algorithm_tlv,
|
| + old_data,
|
| + new_data),
|
| + issuer_tlv(other.issuer_tlv, old_data, new_data),
|
| + validity_not_before(other.validity_not_before),
|
| + validity_not_after(other.validity_not_after),
|
| + subject_tlv(other.subject_tlv, old_data, new_data),
|
| + spki_tlv(other.spki_tlv, old_data, new_data),
|
| + has_issuer_unique_id(other.has_issuer_unique_id),
|
| + issuer_unique_id(
|
| + der::Input(other.issuer_unique_id.bytes(), old_data, new_data),
|
| + other.issuer_unique_id.unused_bits()),
|
| + has_subject_unique_id(other.has_subject_unique_id),
|
| + subject_unique_id(
|
| + der::Input(other.subject_unique_id.bytes(), old_data, new_data),
|
| + other.subject_unique_id.unused_bits()),
|
| + has_extensions(other.has_extensions),
|
| + extensions_tlv(other.extensions_tlv, old_data, new_data) {}
|
| +
|
| bool VerifySerialNumber(const der::Input& value) {
|
| bool unused_negative;
|
| if (!der::IsValidInteger(value, &unused_negative))
|
|
|