X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmanager%2Fcrypto%2Ftz-backend%2Finternals.cpp;h=8aee58a84c786d81a64fc1f7432ca241b86c7685;hb=79141629106d3097f8a4013d3744cef046265a3e;hp=7b7b9be1826a706ee0397f681dc9c484b8098922;hpb=0be32159737cb86cdc1a319d752cfdaa58b872f3;p=platform%2Fcore%2Fsecurity%2Fkey-manager.git diff --git a/src/manager/crypto/tz-backend/internals.cpp b/src/manager/crypto/tz-backend/internals.cpp index 7b7b9be..8aee58a 100644 --- a/src/manager/crypto/tz-backend/internals.cpp +++ b/src/manager/crypto/tz-backend/internals.cpp @@ -533,6 +533,9 @@ RawBuffer sign(const RawBuffer &pkey, { AlgoType algo = unpack(alg, ParamName::ALGO_TYPE); HashAlgorithm hash = unpack(alg, ParamName::SV_HASH_ALGO); + if (algo != AlgoType::RSA_SV && hash == HashAlgorithm::NONE) + ThrowErr(Exc::Crypto::InputParam, "Only RSA supports no hash option"); + RawBuffer signature; TrustZoneContext::Instance().executeSign(getAlgType(algo), getHashType(hash), @@ -551,6 +554,9 @@ int verify(const RawBuffer &pkey, { AlgoType algo = unpack(alg, ParamName::ALGO_TYPE); HashAlgorithm hash = unpack(alg, ParamName::SV_HASH_ALGO); + if (algo != AlgoType::RSA_SV && hash == HashAlgorithm::NONE) + ThrowErr(Exc::Crypto::InputParam, "Only RSA supports no hash option"); + return TrustZoneContext::Instance().executeVerify(getAlgType(algo), getHashType(hash), pkey,