| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "net/base/x509_certificate.h" | 5 #include "net/base/x509_certificate.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/pickle.h" | 9 #include "base/pickle.h" |
| 10 #include "base/sha1.h" | 10 #include "base/sha1.h" |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 | 515 |
| 516 void X509Certificate::Initialize() { | 516 void X509Certificate::Initialize() { |
| 517 std::wstring subject_info; | 517 std::wstring subject_info; |
| 518 std::wstring issuer_info; | 518 std::wstring issuer_info; |
| 519 DWORD name_size; | 519 DWORD name_size; |
| 520 DCHECK(cert_handle_); | 520 DCHECK(cert_handle_); |
| 521 name_size = CertNameToStr(cert_handle_->dwCertEncodingType, | 521 name_size = CertNameToStr(cert_handle_->dwCertEncodingType, |
| 522 &cert_handle_->pCertInfo->Subject, | 522 &cert_handle_->pCertInfo->Subject, |
| 523 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, | 523 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, |
| 524 NULL, 0); | 524 NULL, 0); |
| 525 name_size = CertNameToStr(cert_handle_->dwCertEncodingType, | 525 if (name_size > 1) { |
| 526 &cert_handle_->pCertInfo->Subject, | 526 CertNameToStr(cert_handle_->dwCertEncodingType, |
| 527 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, | 527 &cert_handle_->pCertInfo->Subject, |
| 528 WriteInto(&subject_info, name_size), name_size); | 528 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, |
| 529 WriteInto(&subject_info, name_size), name_size); |
| 530 } |
| 529 name_size = CertNameToStr(cert_handle_->dwCertEncodingType, | 531 name_size = CertNameToStr(cert_handle_->dwCertEncodingType, |
| 530 &cert_handle_->pCertInfo->Issuer, | 532 &cert_handle_->pCertInfo->Issuer, |
| 531 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, | 533 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, |
| 532 NULL, 0); | 534 NULL, 0); |
| 533 name_size = CertNameToStr(cert_handle_->dwCertEncodingType, | 535 if (name_size > 1) { |
| 534 &cert_handle_->pCertInfo->Issuer, | 536 CertNameToStr(cert_handle_->dwCertEncodingType, |
| 535 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, | 537 &cert_handle_->pCertInfo->Issuer, |
| 536 WriteInto(&issuer_info, name_size), name_size); | 538 CERT_X500_NAME_STR | CERT_NAME_STR_CRLF_FLAG, |
| 539 WriteInto(&issuer_info, name_size), name_size); |
| 540 } |
| 537 ParsePrincipal(WideToUTF8(subject_info), &subject_); | 541 ParsePrincipal(WideToUTF8(subject_info), &subject_); |
| 538 ParsePrincipal(WideToUTF8(issuer_info), &issuer_); | 542 ParsePrincipal(WideToUTF8(issuer_info), &issuer_); |
| 539 | 543 |
| 540 valid_start_ = Time::FromFileTime(cert_handle_->pCertInfo->NotBefore); | 544 valid_start_ = Time::FromFileTime(cert_handle_->pCertInfo->NotBefore); |
| 541 valid_expiry_ = Time::FromFileTime(cert_handle_->pCertInfo->NotAfter); | 545 valid_expiry_ = Time::FromFileTime(cert_handle_->pCertInfo->NotAfter); |
| 542 | 546 |
| 543 fingerprint_ = CalculateFingerprint(cert_handle_); | 547 fingerprint_ = CalculateFingerprint(cert_handle_); |
| 544 | 548 |
| 545 const CRYPT_INTEGER_BLOB* serial = &cert_handle_->pCertInfo->SerialNumber; | 549 const CRYPT_INTEGER_BLOB* serial = &cert_handle_->pCertInfo->SerialNumber; |
| 546 scoped_array<uint8> serial_bytes(new uint8[serial->cbData]); | 550 scoped_array<uint8> serial_bytes(new uint8[serial->cbData]); |
| (...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1052 if (!CertSerializeCertificateStoreElement(cert_handle, 0, &buffer[0], | 1056 if (!CertSerializeCertificateStoreElement(cert_handle, 0, &buffer[0], |
| 1053 &length)) { | 1057 &length)) { |
| 1054 return false; | 1058 return false; |
| 1055 } | 1059 } |
| 1056 | 1060 |
| 1057 return pickle->WriteData(reinterpret_cast<const char*>(&buffer[0]), | 1061 return pickle->WriteData(reinterpret_cast<const char*>(&buffer[0]), |
| 1058 length); | 1062 length); |
| 1059 } | 1063 } |
| 1060 | 1064 |
| 1061 } // namespace net | 1065 } // namespace net |
| OLD | NEW |