OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "crypto/openpgp_symmetric_encryption.h" | 5 #include "crypto/openpgp_symmetric_encryption.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 | 8 |
9 #include <sechash.h> | 9 #include <sechash.h> |
10 #include <cryptohi.h> | 10 #include <cryptohi.h> |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 done += todo; | 143 done += todo; |
144 } | 144 } |
145 | 145 |
146 HASH_Destroy(hash_context); | 146 HASH_Destroy(hash_context); |
147 } | 147 } |
148 | 148 |
149 // CreateAESContext sets up |out_key| to be an AES context, with the given key, | 149 // CreateAESContext sets up |out_key| to be an AES context, with the given key, |
150 // in ECB mode and with no IV. | 150 // in ECB mode and with no IV. |
151 bool CreateAESContext(const uint8* key, unsigned key_len, | 151 bool CreateAESContext(const uint8* key, unsigned key_len, |
152 ScopedPK11Context* out_decryption_context) { | 152 ScopedPK11Context* out_decryption_context) { |
153 ScopedPK11Slot slot(PK11_GetBestSlot(CKM_AES_ECB, NULL)); | 153 ScopedPK11Slot slot(PK11_GetInternalSlot()); |
154 if (!slot.get()) | 154 if (!slot.get()) |
155 return false; | 155 return false; |
156 SECItem key_item; | 156 SECItem key_item; |
157 key_item.type = siBuffer; | 157 key_item.type = siBuffer; |
158 key_item.data = const_cast<uint8*>(key); | 158 key_item.data = const_cast<uint8*>(key); |
159 key_item.len = key_len; | 159 key_item.len = key_len; |
160 ScopedPK11SymKey pk11_key(PK11_ImportSymKey( | 160 ScopedPK11SymKey pk11_key(PK11_ImportSymKey( |
161 slot.get(), CKM_AES_ECB, PK11_OriginUnwrap, CKA_ENCRYPT, &key_item, | 161 slot.get(), CKM_AES_ECB, PK11_OriginUnwrap, CKA_ENCRYPT, &key_item, |
162 NULL)); | 162 NULL)); |
163 if (!pk11_key.get()) | 163 if (!pk11_key.get()) |
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
786 base::StringPiece plaintext, | 786 base::StringPiece plaintext, |
787 base::StringPiece passphrase) { | 787 base::StringPiece passphrase) { |
788 EnsureNSSInit(); | 788 EnsureNSSInit(); |
789 | 789 |
790 Encrypter::ByteString b = | 790 Encrypter::ByteString b = |
791 Encrypter::Encrypt(plaintext, passphrase); | 791 Encrypter::Encrypt(plaintext, passphrase); |
792 return std::string(reinterpret_cast<const char*>(b.data()), b.size()); | 792 return std::string(reinterpret_cast<const char*>(b.data()), b.size()); |
793 } | 793 } |
794 | 794 |
795 } // namespace crypto | 795 } // namespace crypto |
OLD | NEW |