| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include <cert.h> | 5 #include <cert.h> | 
| 6 #include <cryptohi.h> | 6 #include <cryptohi.h> | 
| 7 #include <keyhi.h> | 7 #include <keyhi.h> | 
| 8 #include <nss.h> | 8 #include <nss.h> | 
| 9 #include <pk11pub.h> | 9 #include <pk11pub.h> | 
| 10 #include <prtime.h> | 10 #include <prtime.h> | 
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 211   } | 211   } | 
| 212   unsigned int result_len; | 212   unsigned int result_len; | 
| 213   HASH_End(sha256_ctx, sha256.data, &result_len, | 213   HASH_End(sha256_ctx, sha256.data, &result_len, | 
| 214            HASH_ResultLenContext(sha256_ctx)); | 214            HASH_ResultLenContext(sha256_ctx)); | 
| 215   HASH_Destroy(sha256_ctx); | 215   HASH_Destroy(sha256_ctx); | 
| 216 | 216 | 
| 217   return sha256; | 217   return sha256; | 
| 218 } | 218 } | 
| 219 | 219 | 
| 220 // static | 220 // static | 
|  | 221 SHA256HashValue X509Certificate::CalculatePublicKeyHashSHA256( | 
|  | 222     OSCertHandle cert) { | 
|  | 223   SHA256HashValue sha256; | 
|  | 224   memset(sha256.data, 0, sizeof(sha256.data)); | 
|  | 225 | 
|  | 226   DCHECK(NULL != cert->derPublicKey.data); | 
|  | 227   DCHECK_NE(0U, cert->derPublicKey.len); | 
|  | 228   SECStatus rv = HASH_HashBuf(HASH_AlgSHA256, sha256.data, | 
|  | 229                               cert->derPublicKey.data, cert->derPublicKey.len); | 
|  | 230   DCHECK_EQ(rv, SECSuccess); | 
|  | 231 | 
|  | 232   return sha256; | 
|  | 233 } | 
|  | 234 | 
|  | 235 // static | 
| 221 X509Certificate::OSCertHandle X509Certificate::ReadOSCertHandleFromPickle( | 236 X509Certificate::OSCertHandle X509Certificate::ReadOSCertHandleFromPickle( | 
| 222     base::PickleIterator* pickle_iter) { | 237     base::PickleIterator* pickle_iter) { | 
| 223   return x509_util::ReadOSCertHandleFromPickle(pickle_iter); | 238   return x509_util::ReadOSCertHandleFromPickle(pickle_iter); | 
| 224 } | 239 } | 
| 225 | 240 | 
| 226 // static | 241 // static | 
| 227 bool X509Certificate::WriteOSCertHandleToPickle(OSCertHandle cert_handle, | 242 bool X509Certificate::WriteOSCertHandleToPickle(OSCertHandle cert_handle, | 
| 228                                                 base::Pickle* pickle) { | 243                                                 base::Pickle* pickle) { | 
| 229   return pickle->WriteData( | 244   return pickle->WriteData( | 
| 230       reinterpret_cast<const char*>(cert_handle->derCert.data), | 245       reinterpret_cast<const char*>(cert_handle->derCert.data), | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
| 245     return false; | 260     return false; | 
| 246   if (SECSuccess != CERT_VerifySignedDataWithPublicKey( | 261   if (SECSuccess != CERT_VerifySignedDataWithPublicKey( | 
| 247                         &cert_handle->signatureWrap, public_key.get(), NULL)) { | 262                         &cert_handle->signatureWrap, public_key.get(), NULL)) { | 
| 248     return false; | 263     return false; | 
| 249   } | 264   } | 
| 250   return CERT_CompareName(&cert_handle->subject, &cert_handle->issuer) == | 265   return CERT_CompareName(&cert_handle->subject, &cert_handle->issuer) == | 
| 251          SECEqual; | 266          SECEqual; | 
| 252 } | 267 } | 
| 253 | 268 | 
| 254 }  // namespace net | 269 }  // namespace net | 
| OLD | NEW | 
|---|