diff options
author | Kenny Root <kroot@google.com> | 2010-10-15 14:00:58 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-15 14:00:58 -0700 |
commit | fcab0f5502410b975afe045354bbae31ccba68a5 (patch) | |
tree | 184b37e57a998580c15fdaa98d7d8bf0c9155a90 /include | |
parent | 10aca41e51934822dc492cb69b69cef37f42ad42 (diff) | |
parent | 8fda1636e3e35f060b9046294efd3c062a1fdb84 (diff) | |
download | frameworks_base-fcab0f5502410b975afe045354bbae31ccba68a5.zip frameworks_base-fcab0f5502410b975afe045354bbae31ccba68a5.tar.gz frameworks_base-fcab0f5502410b975afe045354bbae31ccba68a5.tar.bz2 |
am 8fda1636: am bdf8034c: Merge "OBB: use PBKDF2 for key generation." into gingerbread
Merge commit '8fda1636e3e35f060b9046294efd3c062a1fdb84'
* commit '8fda1636e3e35f060b9046294efd3c062a1fdb84':
OBB: use PBKDF2 for key generation.
Diffstat (limited to 'include')
-rw-r--r-- | include/utils/ObbFile.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/utils/ObbFile.h b/include/utils/ObbFile.h index 5243f50..47559cd 100644 --- a/include/utils/ObbFile.h +++ b/include/utils/ObbFile.h @@ -27,6 +27,7 @@ namespace android { // OBB flags (bit 0) #define OBB_OVERLAY (1 << 0) +#define OBB_SALTED (1 << 1) class ObbFile : public RefBase { protected: @@ -70,6 +71,26 @@ public: mFlags = flags; } + const unsigned char* getSalt(size_t* length) const { + if ((mFlags & OBB_SALTED) == 0) { + *length = 0; + return NULL; + } + + *length = sizeof(mSalt); + return mSalt; + } + + bool setSalt(const unsigned char* salt, size_t length) { + if (length != sizeof(mSalt)) { + return false; + } + + memcpy(mSalt, salt, sizeof(mSalt)); + mFlags |= OBB_SALTED; + return true; + } + bool isOverlay() { return (mFlags & OBB_OVERLAY) == OBB_OVERLAY; } @@ -103,6 +124,12 @@ private: /* Flags for this OBB type. */ int32_t mFlags; + /* Whether the file is salted. */ + bool mSalted; + + /* The encryption salt. */ + unsigned char mSalt[8]; + const char* mFileName; size_t mFileSize; |