summaryrefslogtreecommitdiffstats
path: root/base/crypto/encryptor.h
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-09 18:40:50 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-09 18:40:50 +0000
commit692033a35dd662cd04b965cfa31581176ebdcfe6 (patch)
tree6224a1b37f7c1a0f6296490ba5e805e815b51247 /base/crypto/encryptor.h
parent256865a6ab0cf3affd171b2eb275bfa7bb8c964d (diff)
downloadchromium_src-692033a35dd662cd04b965cfa31581176ebdcfe6.zip
chromium_src-692033a35dd662cd04b965cfa31581176ebdcfe6.tar.gz
chromium_src-692033a35dd662cd04b965cfa31581176ebdcfe6.tar.bz2
Implement PBKDF2-based key derivation, random key generation,
and AES-CBC encryption/decryption using CryptoAPI. Contributed by Ryan Sleevi <ryan.sleevi@gmail.com>. Original review URL: http://codereview.chromium.org/1558018 R=wtc,albertb BUG=none TEST=SymmetricKeyTest.* and EncryptorTest.* Review URL: http://codereview.chromium.org/1528021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44106 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/crypto/encryptor.h')
-rw-r--r--base/crypto/encryptor.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/base/crypto/encryptor.h b/base/crypto/encryptor.h
index 96a6d6a..5267549 100644
--- a/base/crypto/encryptor.h
+++ b/base/crypto/encryptor.h
@@ -7,11 +7,18 @@
#include <string>
-#include "base/crypto/symmetric_key.h"
-#include "base/scoped_ptr.h"
+#include "build/build_config.h"
+
+#if defined(USE_NSS)
+#include "base/crypto/scoped_nss_types.h"
+#elif defined(OS_WIN)
+#include "base/crypto/scoped_capi_types.h"
+#endif
namespace base {
+class SymmetricKey;
+
class Encryptor {
public:
enum Mode {
@@ -45,6 +52,9 @@ class Encryptor {
std::string* output);
std::string iv_;
+#elif defined(OS_WIN)
+ ScopedHCRYPTKEY capi_key_;
+ DWORD block_size_;
#endif
};