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 |