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

Unified Diff: net/base/x509_cert_types.h

Issue 11274032: Separate http_security_headers from transport_security_state (Closed) Base URL: https://src.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: net/base/x509_cert_types.h
===================================================================
--- net/base/x509_cert_types.h (revision 165283)
+++ net/base/x509_cert_types.h (working copy)
@@ -14,6 +14,7 @@
#include "base/logging.h"
#include "base/string_piece.h"
#include "build/build_config.h"
+#include "net/base/hash_value.h"
#include "net/base/net_export.h"
#if defined(OS_MACOSX) && !defined(OS_IOS)
@@ -28,88 +29,6 @@
class X509Certificate;
-// SHA-1 fingerprint (160 bits) of a certificate.
-struct NET_EXPORT SHA1HashValue {
- bool Equals(const SHA1HashValue& other) const {
- return memcmp(data, other.data, sizeof(data)) == 0;
- }
-
- unsigned char data[20];
-};
-
-class NET_EXPORT SHA1HashValueLessThan {
- public:
- bool operator()(const SHA1HashValue& lhs,
- const SHA1HashValue& rhs) const {
- return memcmp(lhs.data, rhs.data, sizeof(lhs.data)) < 0;
- }
-};
-
-struct NET_EXPORT SHA256HashValue {
- bool Equals(const SHA256HashValue& other) const {
- return memcmp(data, other.data, sizeof(data)) == 0;
- }
-
- unsigned char data[32];
-};
-
-class NET_EXPORT SHA256HashValueLessThan {
- public:
- bool operator()(const SHA256HashValue& lhs,
- const SHA256HashValue& rhs) const {
- return memcmp(lhs.data, rhs.data, sizeof(lhs.data)) < 0;
- }
-};
-
-enum HashValueTag {
- HASH_VALUE_SHA1,
- HASH_VALUE_SHA256,
-
- // This must always be last.
- HASH_VALUE_TAGS_COUNT
-};
-
-class NET_EXPORT HashValue {
- public:
- explicit HashValue(HashValueTag tag) : tag(tag) {}
- HashValue() : tag(HASH_VALUE_SHA1) {}
-
- bool Equals(const HashValue& other) const;
- size_t size() const;
- unsigned char* data();
- const unsigned char* data() const;
-
- HashValueTag tag;
-
- private:
- union {
- SHA1HashValue sha1;
- SHA256HashValue sha256;
- } fingerprint;
-};
-
-class NET_EXPORT HashValueLessThan {
- public:
- bool operator()(const HashValue& lhs,
- const HashValue& rhs) const {
- size_t lhs_size = lhs.size();
- size_t rhs_size = rhs.size();
-
- if (lhs_size != rhs_size)
- return lhs_size < rhs_size;
-
- return memcmp(lhs.data(), rhs.data(), lhs_size) < 0;
- }
-};
-
-typedef std::vector<HashValue> HashValueVector;
-
-// IsSHA1HashInSortedArray returns true iff |hash| is in |array|, a sorted
-// array of SHA1 hashes.
-bool NET_EXPORT IsSHA1HashInSortedArray(const SHA1HashValue& hash,
- const uint8* array,
- size_t array_byte_len);
-
// CertPrincipal represents the issuer or subject field of an X.509 certificate.
struct NET_EXPORT CertPrincipal {
CertPrincipal();

Powered by Google App Engine
This is Rietveld 408576698