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

Unified Diff: net/cert/asn1_util.h

Issue 2750723002: Check TBSCertificate.algorithm and Certificate.signatureAlgorithm for consistency when verifying ce… (Closed)
Patch Set: Created 3 years, 9 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 | « no previous file | net/cert/asn1_util.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/cert/asn1_util.h
diff --git a/net/cert/asn1_util.h b/net/cert/asn1_util.h
index fb64bfbb58b38462872e5f7e911dc8b38d86bd07..725072a932898ef91fb7d618382f376890e80fb7 100644
--- a/net/cert/asn1_util.h
+++ b/net/cert/asn1_util.h
@@ -50,6 +50,23 @@ NET_EXPORT_PRIVATE bool ExtractCRLURLsFromDERCert(
// present or if there was a parsing failure.
NET_EXPORT_PRIVATE bool HasTLSFeatureExtension(base::StringPiece cert);
+// Extracts the two (SEQUENCE) tag-length-values for the signature
+// AlgorithmIdentifiers in a DER encoded certificate. Does not use strict
+// parsing or validate the resulting AlgorithmIdentifiers.
+//
+// On success returns true, and assigns |cert_signature_algorithm_sequence| and
+// |tbs_signature_algorithm_sequence| to point into |cert|:
+//
+// * |cert_signature_algorithm_sequence| points at the TLV for
+// Certificate.signatureAlgorithm.
+//
+// * |tbs_signature_algorithm_sequence| points at the TLV for
+// TBSCertificate.algorithm.
+NET_EXPORT_PRIVATE bool ExtractSignatureAlgorithmsFromDERCert(
+ base::StringPiece cert,
+ base::StringPiece* cert_signature_algorithm_sequence,
+ base::StringPiece* tbs_signature_algorithm_sequence);
+
} // namespace asn1
} // namespace net
« no previous file with comments | « no previous file | net/cert/asn1_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698