Index: net/cert/x509_certificate_nss.cc |
diff --git a/net/cert/x509_certificate_nss.cc b/net/cert/x509_certificate_nss.cc |
index 822102fe153c3c0b89402e87cbc36809bae2522b..1164ff99c5348f334969385417d7f82c87637172 100644 |
--- a/net/cert/x509_certificate_nss.cc |
+++ b/net/cert/x509_certificate_nss.cc |
@@ -218,6 +218,21 @@ SHA256HashValue X509Certificate::CalculateCAFingerprint256( |
} |
// static |
+SHA256HashValue X509Certificate::CalculatePublicKeyHashSHA256( |
+ OSCertHandle cert) { |
+ SHA256HashValue sha256; |
+ memset(sha256.data, 0, sizeof(sha256.data)); |
+ |
+ DCHECK(NULL != cert->derPublicKey.data); |
+ DCHECK_NE(0U, cert->derPublicKey.len); |
+ SECStatus rv = HASH_HashBuf(HASH_AlgSHA256, sha256.data, |
+ cert->derPublicKey.data, cert->derPublicKey.len); |
+ DCHECK_EQ(rv, SECSuccess); |
+ |
+ return sha256; |
+} |
+ |
+// static |
X509Certificate::OSCertHandle X509Certificate::ReadOSCertHandleFromPickle( |
base::PickleIterator* pickle_iter) { |
return x509_util::ReadOSCertHandleFromPickle(pickle_iter); |