| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/extensions/api/certificate_provider/certificate_provide
r_api.h" | 5 #include "chrome/browser/extensions/api/certificate_provider/certificate_provide
r_api.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/logging.h" | 12 #include "base/logging.h" |
| 13 #include "base/memory/linked_ptr.h" | 13 #include "base/memory/linked_ptr.h" |
| 14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 15 #include "base/stl_util.h" | |
| 16 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice.h" | 15 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice.h" |
| 17 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice_factory.h" | 16 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice_factory.h" |
| 18 #include "chrome/common/extensions/api/certificate_provider.h" | 17 #include "chrome/common/extensions/api/certificate_provider.h" |
| 19 #include "chrome/common/extensions/api/certificate_provider_internal.h" | 18 #include "chrome/common/extensions/api/certificate_provider_internal.h" |
| 20 #include "content/public/common/console_message_level.h" | 19 #include "content/public/common/console_message_level.h" |
| 21 #include "net/cert/x509_certificate.h" | 20 #include "net/cert/x509_certificate.h" |
| 22 #include "net/ssl/ssl_private_key.h" | 21 #include "net/ssl/ssl_private_key.h" |
| 23 | 22 |
| 24 namespace extensions { | 23 namespace extensions { |
| 25 | 24 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 bool CertificateProviderInternalReportCertificatesFunction:: | 84 bool CertificateProviderInternalReportCertificatesFunction:: |
| 86 ParseCertificateInfo( | 85 ParseCertificateInfo( |
| 87 const api_cp::CertificateInfo& info, | 86 const api_cp::CertificateInfo& info, |
| 88 chromeos::certificate_provider::CertificateInfo* out_info) { | 87 chromeos::certificate_provider::CertificateInfo* out_info) { |
| 89 const std::vector<char>& cert_der = info.certificate; | 88 const std::vector<char>& cert_der = info.certificate; |
| 90 if (cert_der.empty()) { | 89 if (cert_der.empty()) { |
| 91 WriteToConsole(content::CONSOLE_MESSAGE_LEVEL_ERROR, kErrorInvalidX509Cert); | 90 WriteToConsole(content::CONSOLE_MESSAGE_LEVEL_ERROR, kErrorInvalidX509Cert); |
| 92 return false; | 91 return false; |
| 93 } | 92 } |
| 94 | 93 |
| 95 out_info->certificate = net::X509Certificate::CreateFromBytes( | 94 out_info->certificate = |
| 96 vector_as_array(&cert_der), cert_der.size()); | 95 net::X509Certificate::CreateFromBytes(cert_der.data(), cert_der.size()); |
| 97 if (!out_info->certificate) { | 96 if (!out_info->certificate) { |
| 98 WriteToConsole(content::CONSOLE_MESSAGE_LEVEL_ERROR, kErrorInvalidX509Cert); | 97 WriteToConsole(content::CONSOLE_MESSAGE_LEVEL_ERROR, kErrorInvalidX509Cert); |
| 99 return false; | 98 return false; |
| 100 } | 99 } |
| 101 | 100 |
| 102 size_t public_key_length_in_bits = 0; | 101 size_t public_key_length_in_bits = 0; |
| 103 net::X509Certificate::PublicKeyType type = | 102 net::X509Certificate::PublicKeyType type = |
| 104 net::X509Certificate::kPublicKeyTypeUnknown; | 103 net::X509Certificate::kPublicKeyTypeUnknown; |
| 105 net::X509Certificate::GetPublicKeyInfo( | 104 net::X509Certificate::GetPublicKeyInfo( |
| 106 out_info->certificate->os_cert_handle(), &public_key_length_in_bits, | 105 out_info->certificate->os_cert_handle(), &public_key_length_in_bits, |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 std::vector<uint8_t> signature; | 167 std::vector<uint8_t> signature; |
| 169 // If an error occurred, |signature| will not be set. | 168 // If an error occurred, |signature| will not be set. |
| 170 if (params->signature) | 169 if (params->signature) |
| 171 signature.assign(params->signature->begin(), params->signature->end()); | 170 signature.assign(params->signature->begin(), params->signature->end()); |
| 172 | 171 |
| 173 service->ReplyToSignRequest(extension_id(), params->request_id, signature); | 172 service->ReplyToSignRequest(extension_id(), params->request_id, signature); |
| 174 return RespondNow(NoArguments()); | 173 return RespondNow(NoArguments()); |
| 175 } | 174 } |
| 176 | 175 |
| 177 } // namespace extensions | 176 } // namespace extensions |
| OLD | NEW |