From: Krzysztof Jackiewicz Date: Mon, 8 May 2023 18:43:51 +0000 (+0200) Subject: Fix default value for KBKDF LLEN parameter X-Git-Tag: accepted/tizen/6.0/unified/20230621.004733~1^2~21 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eec9291ef51f719cf24d1f65cf7ed9ec63bf76d3;p=platform%2Fcore%2Fsecurity%2Fkey-manager.git Fix default value for KBKDF LLEN parameter Change the default value of CKMC_PARAM_KBKDF_LLEN from 0 to 32 according to API description. Change-Id: I972d95227b047394c5f59addc9242d43c9c68be7 --- diff --git a/src/manager/crypto/sw-backend/internals.cpp b/src/manager/crypto/sw-backend/internals.cpp index 9796b2e..26a5f33 100644 --- a/src/manager/crypto/sw-backend/internals.cpp +++ b/src/manager/crypto/sw-backend/internals.cpp @@ -1040,7 +1040,7 @@ Data deriveKBKDF(const RawBuffer &secret, const CryptoAlgorithm &alg) RawBuffer label, context, fixed; KbkdfCounterLocation counterLocation; KdfPrf prf; - size_t length, rlenBits = 32, llenBits = 0, tmp; + size_t length, rlenBits = 32, llenBits = 32, tmp; bool hasLabel = alg.getParam(ParamName::KBKDF_LABEL, label); bool hasContext = alg.getParam(ParamName::KBKDF_CONTEXT, context); bool hasFixed = alg.getParam(ParamName::KBKDF_FIXED_INPUT, fixed); @@ -1048,7 +1048,7 @@ Data deriveKBKDF(const RawBuffer &secret, const CryptoAlgorithm &alg) alg.getParam(ParamName::KDF_PRF, prf); alg.getParam(ParamName::KDF_LEN, length); alg.getParam(ParamName::KBKDF_RLEN, rlenBits); - alg.getParam(ParamName::KBKDF_LLEN, llenBits); + bool hasLLen = alg.getParam(ParamName::KBKDF_LLEN, llenBits); bool useSeparator = !alg.getParam(ParamName::KBKDF_NO_SEPARATOR, tmp); const EVP_MD* md = nullptr; @@ -1068,7 +1068,7 @@ Data deriveKBKDF(const RawBuffer &secret, const CryptoAlgorithm &alg) RawBuffer key; if (hasFixed) { - if (hasLabel || hasContext || !useSeparator || llenBits > 0 || + if (hasLabel || hasContext || !useSeparator || hasLLen || counterLocation == KbkdfCounterLocation::MIDDLE_FIXED) ThrowErr(Exc::Crypto::InputParam, "Unexpected parameters for fixed input mode.");