Home | History | Annotate | Download | only in keystore

Lines Matching refs:mBlob

33     memset(&mBlob, 0, sizeof(mBlob));
42 mBlob.length = valueLength;
43 memcpy(mBlob.value, value, valueLength);
45 mBlob.info = infoLength;
46 memcpy(mBlob.value + valueLength, info, infoLength);
48 mBlob.version = CURRENT_BLOB_VERSION;
49 mBlob.type = uint8_t(type);
52 mBlob.flags = KEYSTORE_FLAG_ENCRYPTED;
54 mBlob.flags = KEYSTORE_FLAG_NONE;
59 mBlob = b;
63 memset(&mBlob, 0, sizeof(mBlob));
67 if (mBlob.version < 2) {
71 return mBlob.flags & KEYSTORE_FLAG_ENCRYPTED;
76 mBlob.flags |= KEYSTORE_FLAG_ENCRYPTED;
78 mBlob.flags &= ~KEYSTORE_FLAG_ENCRYPTED;
84 mBlob.flags |= KEYSTORE_FLAG_FALLBACK;
86 mBlob.flags &= ~KEYSTORE_FLAG_FALLBACK;
99 if (!entropy->generate_random_data(mBlob.vector, AES_BLOCK_SIZE)) {
106 size_t dataLength = mBlob.length + sizeof(mBlob.length);
112 memmove(&mBlob.encrypted[encryptedLength], &mBlob.value[mBlob.length], mBlob.info);
114 memset(mBlob.value + mBlob.length, 0, digestedLength - dataLength);
116 mBlob.length = htonl(mBlob.length);
119 MD5(mBlob.digested, digestedLength, mBlob.digest);
122 memcpy(vector, mBlob.vector, AES_BLOCK_SIZE);
123 AES_cbc_encrypt(mBlob.encrypted, mBlob.encrypted, encryptedLength, aes_key, vector,
127 size_t headerLength = (mBlob.encrypted - (uint8_t*)&mBlob);
128 size_t fileLength = encryptedLength + headerLength + mBlob.info;
137 size_t writtenBytes = writeFully(out, (uint8_t*)&mBlob, fileLength);
159 // fileLength may be less than sizeof(mBlob) since the in
162 size_t fileLength = readFully(in, (uint8_t*)&mBlob, sizeof(mBlob));
175 size_t headerLength = (mBlob.encrypted - (uint8_t*)&mBlob);
180 ssize_t encryptedLength = fileLength - (headerLength + mBlob.info);
191 AES_cbc_encrypt(mBlob.encrypted, mBlob.encrypted, encryptedLength, aes_key, mBlob.vector,
195 MD5(mBlob.digested, digestedLength, computedDigest);
196 if (memcmp(mBlob.digest, computedDigest, MD5_DIGEST_LENGTH) != 0) {
203 ssize_t maxValueLength = digestedLength - sizeof(mBlob.length);
204 mBlob.length = ntohl(mBlob.length);
205 if (mBlob.length < 0 || mBlob.length > maxValueLength) {
208 if (mBlob.info != 0) {
210 memmove(&mBlob.value[mBlob.length], &mBlob.value[maxValueLength], mBlob.info);