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

Side by Side Diff: base/crypto/signature_creator_mac.cc

Issue 6312157: Add ability to create self signed certs to mac. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 10 months 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "base/crypto/signature_creator.h" 5 #include "base/crypto/signature_creator.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include "base/crypto/cssm_init.h" 9 #include "base/crypto/cssm_init.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 bool SignatureCreator::Update(const uint8* data_part, int data_part_len) { 52 bool SignatureCreator::Update(const uint8* data_part, int data_part_len) {
53 CSSM_DATA data; 53 CSSM_DATA data;
54 data.Data = const_cast<uint8*>(data_part); 54 data.Data = const_cast<uint8*>(data_part);
55 data.Length = data_part_len; 55 data.Length = data_part_len;
56 CSSM_RETURN crtn = CSSM_SignDataUpdate(sig_handle_, &data, 1); 56 CSSM_RETURN crtn = CSSM_SignDataUpdate(sig_handle_, &data, 1);
57 DCHECK(crtn == CSSM_OK); 57 DCHECK(crtn == CSSM_OK);
58 return true; 58 return true;
59 } 59 }
60 60
61 bool SignatureCreator::Final(std::vector<uint8>* signature) { 61 bool SignatureCreator::Final(std::vector<uint8>* signature) {
62 CSSM_DATA sig; 62 ScopedCSSMData sig;
63 memset(&sig, 0, sizeof(CSSM_DATA)); // Allow CSSM allocate memory; 63 CSSM_RETURN crtn = CSSM_SignDataFinal(sig_handle_, sig);
64 CSSM_RETURN crtn = CSSM_SignDataFinal(sig_handle_, &sig);
65 64
66 if (crtn) { 65 if (crtn) {
67 NOTREACHED(); 66 NOTREACHED();
68 return false; 67 return false;
69 } 68 }
70 69
71 signature->assign(sig.Data, sig.Data + sig.Length); 70 signature->assign(sig->Data, sig->Data + sig->Length);
72 kCssmMemoryFunctions.free_func(sig.Data, NULL); // Release data alloc'd
73 // by CSSM
74
75 return true; 71 return true;
76 } 72 }
77 73
78 } // namespace base 74 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698