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

Unified Diff: components/policy/core/common/cloud/cloud_policy_validator.cc

Issue 1679873005: Switch SignatureVerifier to taking an algorithm enum. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix iOS build Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/crx_file/crx_file.cc ('k') | components/update_client/client_update_protocol_ecdsa.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/policy/core/common/cloud/cloud_policy_validator.cc
diff --git a/components/policy/core/common/cloud/cloud_policy_validator.cc b/components/policy/core/common/cloud/cloud_policy_validator.cc
index be2bd6f757d4868c5cc1c0b5ce38f15effbdc899..ba1f986ed50bb7994b514b415eaf7b19192f2139 100644
--- a/components/policy/core/common/cloud/cloud_policy_validator.cc
+++ b/components/policy/core/common/cloud/cloud_policy_validator.cc
@@ -30,24 +30,6 @@ namespace {
// Grace interval for policy-from-the-future timestamp checks.
const int kTimestampGraceIntervalHours = 2;
-// DER-encoded ASN.1 object identifier for the SHA1-RSA signature algorithm.
-const uint8_t kSHA1SignatureAlgorithm[] = {0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00};
-
-// DER-encoded ASN.1 object identifier for the SHA256-RSA signature algorithm
-// (source: http://tools.ietf.org/html/rfc5754 section 3.2).
-const uint8_t kSHA256SignatureAlgorithm[] = {0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x0b, 0x05, 0x00};
-
-static_assert(sizeof(kSHA256SignatureAlgorithm) ==
- sizeof(kSHA1SignatureAlgorithm),
- "kSHA256SignatureAlgorithm must be the same size as "
- "kSHA1SignatureAlgorithm");
-
-const int kSignatureAlgorithmSize = sizeof(kSHA1SignatureAlgorithm);
-
const char kMetricPolicyKeyVerification[] = "Enterprise.PolicyKeyVerification";
enum MetricPolicyKeyVerification {
@@ -526,13 +508,13 @@ bool CloudPolicyValidatorBase::VerifySignature(const std::string& data,
const std::string& signature,
SignatureType signature_type) {
crypto::SignatureVerifier verifier;
- const uint8_t* algorithm = NULL;
+ crypto::SignatureVerifier::SignatureAlgorithm algorithm;
switch (signature_type) {
case SHA1:
- algorithm = kSHA1SignatureAlgorithm;
+ algorithm = crypto::SignatureVerifier::RSA_PKCS1_SHA1;
break;
case SHA256:
- algorithm = kSHA256SignatureAlgorithm;
+ algorithm = crypto::SignatureVerifier::RSA_PKCS1_SHA256;
break;
default:
NOTREACHED() << "Invalid signature type: " << signature_type;
@@ -540,9 +522,9 @@ bool CloudPolicyValidatorBase::VerifySignature(const std::string& data,
}
if (!verifier.VerifyInit(
- algorithm, kSignatureAlgorithmSize,
- reinterpret_cast<const uint8_t*>(signature.c_str()), signature.size(),
- reinterpret_cast<const uint8_t*>(key.c_str()), key.size())) {
+ algorithm, reinterpret_cast<const uint8_t*>(signature.c_str()),
+ signature.size(), reinterpret_cast<const uint8_t*>(key.c_str()),
+ key.size())) {
DLOG(ERROR) << "Invalid verification signature/key format";
return false;
}
« no previous file with comments | « components/crx_file/crx_file.cc ('k') | components/update_client/client_update_protocol_ecdsa.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698