Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Side by Side Diff: chrome/common/net/x509_certificate_model_nss.cc

Issue 8413024: Add ECPrivateKey for Elliptic Curve keypair generation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review changes Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/third_party/mozilla_security_manager/nsNSSCertHelper.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chrome/common/net/x509_certificate_model.h" 5 #include "chrome/common/net/x509_certificate_model.h"
6 6
7 #include <cert.h> 7 #include <cert.h>
8 #include <cms.h> 8 #include <cms.h>
9 #include <hasht.h> 9 #include <hasht.h>
10 #include <keyhi.h> // SECKEY_DestroyPrivateKey 10 #include <keyhi.h> // SECKEY_DestroyPrivateKey
11 #include <keythi.h> // SECKEYPrivateKey 11 #include <keythi.h> // SECKEYPrivateKey
12 #include <pk11pub.h> // PK11_FindKeyByAnyCert 12 #include <pk11pub.h> // PK11_FindKeyByAnyCert
13 #include <seccomon.h> // SECItem 13 #include <seccomon.h> // SECItem
14 #include <sechash.h> 14 #include <sechash.h>
15 15
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/string_number_conversions.h" 17 #include "base/string_number_conversions.h"
18 #include "crypto/nss_util.h" 18 #include "crypto/nss_util.h"
19 #include "crypto/scoped_nss_types.h"
19 #include "net/base/x509_certificate.h" 20 #include "net/base/x509_certificate.h"
20 #include "chrome/third_party/mozilla_security_manager/nsNSSCertHelper.h" 21 #include "chrome/third_party/mozilla_security_manager/nsNSSCertHelper.h"
21 #include "chrome/third_party/mozilla_security_manager/nsNSSCertificate.h" 22 #include "chrome/third_party/mozilla_security_manager/nsNSSCertificate.h"
22 #include "chrome/third_party/mozilla_security_manager/nsUsageArrayHelper.h" 23 #include "chrome/third_party/mozilla_security_manager/nsUsageArrayHelper.h"
23 24
24 namespace psm = mozilla_security_manager; 25 namespace psm = mozilla_security_manager;
25 26
26 namespace { 27 namespace {
27 28
28 // Convert a char* return value from NSS into a std::string and free the NSS 29 // Convert a char* return value from NSS into a std::string and free the NSS
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 cert_handles->clear(); 325 cert_handles->clear();
325 } 326 }
326 327
327 string GetDerString(X509Certificate::OSCertHandle cert_handle) { 328 string GetDerString(X509Certificate::OSCertHandle cert_handle) {
328 return string(reinterpret_cast<const char*>(cert_handle->derCert.data), 329 return string(reinterpret_cast<const char*>(cert_handle->derCert.data),
329 cert_handle->derCert.len); 330 cert_handle->derCert.len);
330 } 331 }
331 332
332 string GetCMSString(const X509Certificate::OSCertHandles& cert_chain, 333 string GetCMSString(const X509Certificate::OSCertHandles& cert_chain,
333 size_t start, size_t end) { 334 size_t start, size_t end) {
334 ScopedPRArenaPool arena(PORT_NewArena(1024)); 335 crypto::ScopedPLArenaPool arena(PORT_NewArena(1024));
335 DCHECK(arena.get()); 336 DCHECK(arena.get());
336 337
337 ScopedNSSCMSMessage message(NSS_CMSMessage_Create(arena.get())); 338 ScopedNSSCMSMessage message(NSS_CMSMessage_Create(arena.get()));
338 DCHECK(message.get()); 339 DCHECK(message.get());
339 340
340 // First, create SignedData with the certificate only (no chain). 341 // First, create SignedData with the certificate only (no chain).
341 ScopedNSSCMSSignedData signed_data(NSS_CMSSignedData_CreateCertsOnly( 342 ScopedNSSCMSSignedData signed_data(NSS_CMSSignedData_CreateCertsOnly(
342 message.get(), cert_chain[start], PR_FALSE)); 343 message.get(), cert_chain[start], PR_FALSE));
343 if (!signed_data.get()) { 344 if (!signed_data.get()) {
344 DLOG(ERROR) << "NSS_CMSSignedData_Create failed"; 345 DLOG(ERROR) << "NSS_CMSSignedData_Create failed";
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 string ProcessRawBitsSignatureWrap(X509Certificate::OSCertHandle cert_handle) { 404 string ProcessRawBitsSignatureWrap(X509Certificate::OSCertHandle cert_handle) {
404 return ProcessRawBits(cert_handle->signatureWrap.signature.data, 405 return ProcessRawBits(cert_handle->signatureWrap.signature.data,
405 cert_handle->signatureWrap.signature.len); 406 cert_handle->signatureWrap.signature.len);
406 } 407 }
407 408
408 void RegisterDynamicOids() { 409 void RegisterDynamicOids() {
409 psm::RegisterDynamicOids(); 410 psm::RegisterDynamicOids();
410 } 411 }
411 412
412 } // namespace x509_certificate_model 413 } // namespace x509_certificate_model
OLDNEW
« no previous file with comments | « no previous file | chrome/third_party/mozilla_security_manager/nsNSSCertHelper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698