Kaydet (Commit) 49188435 authored tarafından Caolán McNamara's avatar Caolán McNamara

hash len is 20 for xls cryptoapi configuration

Change-Id: I6e06b8578959b8147043179db57e875b1d98d57d
üst fcf7f503
......@@ -52,7 +52,8 @@ const sal_uInt32 VERSION_INFO_AGILE = 0x00040004;
const sal_uInt32 SALT_LENGTH = 16;
const sal_uInt32 ENCRYPTED_VERIFIER_LENGTH = 16;
const sal_uInt32 ENCRYPTED_VERIFIER_HASH_LENGTH = 32;
const sal_uInt32 ENCRYPTED_RC4_VERIFIER_HASH_LENGTH = 20;
const sal_uInt32 ENCRYPTED_AES_VERIFIER_HASH_LENGTH = 32;
struct EncryptionStandardHeader
{
......@@ -74,7 +75,7 @@ struct EncryptionVerifierAES
sal_uInt8 salt[SALT_LENGTH]; // random generated salt value
sal_uInt8 encryptedVerifier[ENCRYPTED_VERIFIER_LENGTH]; // randomly generated verifier value
sal_uInt32 encryptedVerifierHashSize; // actually written hash size - depends on algorithm
sal_uInt8 encryptedVerifierHash[ENCRYPTED_VERIFIER_HASH_LENGTH]; // verifier value hash - itself also encrypted
sal_uInt8 encryptedVerifierHash[ENCRYPTED_AES_VERIFIER_HASH_LENGTH]; // verifier value hash - itself also encrypted
EncryptionVerifierAES();
};
......
......@@ -90,9 +90,9 @@ bool Standard2007Engine::generateVerifier()
vector<sal_uInt8> hash(RTL_DIGEST_LENGTH_SHA1, 0);
mInfo.verifier.encryptedVerifierHashSize = RTL_DIGEST_LENGTH_SHA1;
Digest::sha1(hash, verifier);
hash.resize(ENCRYPTED_VERIFIER_HASH_LENGTH, 0);
hash.resize(ENCRYPTED_AES_VERIFIER_HASH_LENGTH, 0);
vector<sal_uInt8> encryptedHash(ENCRYPTED_VERIFIER_HASH_LENGTH, 0);
vector<sal_uInt8> encryptedHash(ENCRYPTED_AES_VERIFIER_HASH_LENGTH, 0);
Encrypt aEncryptorHash(mKey, iv, Crypto::AES_128_ECB);
aEncryptorHash.update(encryptedHash, hash, hash.size());
......@@ -162,10 +162,10 @@ bool Standard2007Engine::generateEncryptionKey(const OUString& password)
mInfo.verifier.encryptedVerifier + ENCRYPTED_VERIFIER_LENGTH,
encryptedVerifier.begin());
vector<sal_uInt8> encryptedHash(ENCRYPTED_VERIFIER_HASH_LENGTH);
vector<sal_uInt8> encryptedHash(ENCRYPTED_AES_VERIFIER_HASH_LENGTH);
std::copy(
mInfo.verifier.encryptedVerifierHash,
mInfo.verifier.encryptedVerifierHash + ENCRYPTED_VERIFIER_HASH_LENGTH,
mInfo.verifier.encryptedVerifierHash + ENCRYPTED_AES_VERIFIER_HASH_LENGTH,
encryptedHash.begin());
vector<sal_uInt8> verifier(encryptedVerifier.size(), 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment